The Python Book 2Nd Edition

Total Page:16

File Type:pdf, Size:1020Kb

The Python Book 2Nd Edition NEW OVER 2 HOURS PythonThe OF VIDEO TUTORIALS The ultimate guide to coding with Python Over 20 incredible projects Learn to use Python t1SPHSBNHBNFTt(FUDSFBUJWFXJUI1J Welcome to PythonThe Python is an incredibly versatile, expansive language which, due to its similarity to everyday language, is surprisingly easy to learn even for inexperienced programmers. It has seen a huge increase in popularity since the release and rise of the Raspberry Pi, for which Python is the officially recognised programming language. In this new edition of The Python Book, you’ll find plenty of creative projects to help you get to grips with the combination of your Raspberry Pi and Python’s powerful functionality, plus lots of tutorials that focus on Python’s effectiveness away from the Raspberry Pi. You’ll learn all about how to code with Python from a standing start, with our comprehensive masterclass, then go on to complete tutorials that will consolidate your skills and help you to become fluent in the language. You’ll learn how to make Python work for you with tutorials on coding with Django, Flask, Pygame and even more useful third-party frameworks. Get ready to become a true Python expert with the wealth of information contained within these pages. PythonThe Imagine Publishing Ltd Richmond House 33 Richmond Hill Bournemouth Dorset BH2 6EZ +44 (0) 1202 586200 Website: www.imagine-publishing.co.uk Twitter: @Books_Imagine Facebook: www.facebook.com/ImagineBookazines Publishing Director Aaron Asadi Head of Design Ross Andrews Production Editor Alex Hoskins Senior Art Editor Greg Whitaker Assistant Designer Steve Dacombe Printed by William Gibbons, 26 Planetary Road, Willenhall, West Midlands, WV13 3XT Distributed in the UK, Eire & the Rest of the World by Marketforce, 5 Churchill Place, Canary Wharf, London, E14 5HU Tel 0203 787 9060 www.marketforce.co.uk Distributed in Australia by Network Services (a division of Bauer Media Group), Level 21 Civic Tower, 66-68 Goulburn Street, Sydney, New South Wales 2000, Australia Tel +61 2 8667 5288 Disclaimer The publisher cannot accept responsibility for any unsolicited material lost or damaged in the post. All text and layout is the copyright of Imagine Publishing Ltd. Nothing in this bookazine may be reproduced in whole or part without the written permission of the publisher. All copyrights are recognised and used specifically for the purpose of criticism and review. Although the bookazine has endeavoured to ensure all information is correct at time of print, prices and availability may change. This bookazine is fully independent and not affiliated in any way with the companies mentioned herein. The Python Book Second Edition © 2016 Imagine Publishing Ltd ISBN 9781785462382 Part of the bookazine series PythonThe Contents 8 Get started Work with Python Create with Python with Python Master the basics the right way 74 Python for professionals 108 Build tic-tac-toe with Kivy Use your coding skills at work Program noughts and crosses 16 50 essential 82 Make extensions for XBMC 112 Create two-step authentication commands Enhance XBMC with this tutorial Use Twilio for safe authentication The commands you need to know 88 Scienti c computing 116 Program a Space Invaders clone Get to grips with NumPy Make the basic Pivaders game 92 Instant messaging 120 Add animation and sound Get chatting using Python Enhance your Pivaders game 98 Replace your shell 124 Make a visual novel Use Python for your primary shell Program a book-style game 102 Python for system admins 128 Pygame Zero Python essentials How Python helps system administration Turn your ideas into games 26 Code rock, paper, scissors Put basic coding into action 82 116 32 Program a hangman game Use Python to make the classic game 38 Play poker dice Test your luck and your coding 44 Create a graphical interface Add interface to your projects 50 Bring graphics to games Add images to simple games 92 124 56 Build an app for Android Make your own app with Kivy 62 Making web apps Use Python to create online apps 66 50 Python tips Essential knowledge for Python users 6 The Python Book 136 170 66 50 Python Web development Use Python with Pi 136 Develop with Python tips 160 Programming in Python on Why Python is perfect for the web Raspberry Pi 142 Create dynamic templates Learn how to optimise for Pi Use Jinja, Flask and more 164 Turn Raspberry Pi into a 146 Build your own blog “Get to grips stop-motion studio Begin developing your blog with Python, and Learn how to optimise for Pi 150 Deliver content to your blog 168 Send SMS with Pi Add content to your site master highly Send text messages for free 154 Enhance your blog 170 Build an LED Matrix Complete your blog with add-ons versatile code” Use Pi to control light sequences The Python Book 7 Get started with Python Always wanted to have a go at programming? No more excuses, because Python is the perfect way to get started! ython is a great programming language for libraries to create a windowed application, or you could Pboth beginners and experts. It is designed with try something a little more ambitious like an app such code readability in mind, making it an excellent as creating one using Python’s Bluetooth and Input choice for beginners who are still getting used to libraries to capture the input from a USB keyboard and various programming concepts. relay the input events to an Android phone. The language is popular and has plenty of libraries For this guide we’re going to be using Python 2.x since available, allowing programmers to get a lot done with that is the version that is most likely to be installed on your relatively little code. Linux distribution. You can make all kinds of applications in Python: In the following tutorials, you’ll learn how to create you could use the Pygame framework to write popular games using Python programming. We’ll also simple 2D games, you could use the GTK show you how to add sound and AI to these games. 8 The Python Book Get started with Python The Python Book 9 Get started with Python Hello World Variables and data types Let’s get stuck in, and what better way than with the A variable is a name in source code that is associated with an programmer’s best friend, the ‘Hello World’ application! Start area in memory that you can use to store data, which is then by opening a terminal. Its current working directory will be your called upon throughout the code. The data can be one of many home directory. It’s probably a good idea to make a directory for types, including: the fi les we’ll be creating in this tutorial, rather than having them loose in your home directory. You can create a directory called Python using the command mkdir Python. You’ll then want to Integer Stores whole numbers change into that directory using the command cd Python. The next step is to create an empty fi le using the command Float Stores decimal numbers ‘touch’ followed by the fi lename. Our expert used the command Boolean Can have a value of True or False touch hello_world.py. The fi nal and most important part of String Stores a collection of characters. “Hello setting up the fi le is making it executable. This allows us to run World” is a string code inside the hello_world.py fi le. We do this with the command chmod +x hello_world.py. Now that we have our fi le set up, we can go ahead and open it up in nano, or any text editor of your As well as these main data types, there are sequence types choice. Gedit is a great editor with syntax highlighting support (technically, a string is a sequence type but is so commonly used that should be available on any distribution. You’ll be able to we’ve classed it as a main data type): install it using your package manager if you don’t have it already. List Contains a collection of data in a specifi c order [liam@liam-laptop ~]$ mkdir Python [liam@liam-laptop ~]$ cd Python/ Tuple Contains a collection immutable data in a [liam@liam-laptop Python]$ touch hello_world.py specifi c order [liam@liam-laptop Python]$ chmod +x hello_world.py [liam@liam-laptop Python]$ nano hello_world.py A tuple would be used for something like a co-ordinate, containing an x and y value stored as a single variable, whereas Our Hello World program is very simple, it only needs two lines. a list is typically used to store larger collections. The data The fi rst line begins with a ‘shebang’ (the symbol #! – also known stored in a tuple is immutable because you aren’t able to as a hashbang) followed by the path to the Python interpreter. change values of individual elements in a tuple. However, you The program loader uses this line to work out what the rest of the can do so in a list. lines need to be interpreted with. If you’re running this in an IDE It will also be useful to know about Python’s dictionary like IDLE, you don’t necessarily need to do this. type. A dictionary is a mapped data type. It stores data in The code that is actually read by the Python interpreter is only key-value pairs. This means that you access values stored in a single line. We’re passing the value Hello World to the print the dictionary using that value’s corresponding key, which is function by placing it in brackets immediately after we’ve called different to how you would do it with a list.
Recommended publications
  • Pragmatic Guide to Javascript
    www.allitebooks.com What Readers Are Saying About Pragmatic Guide to J a v a S c r i p t I wish I had o w n e d this book when I first started out doing JavaScript! Prag- matic Guide to J a v a S c r i p t will take you a big step ahead in programming real-world JavaScript by showing you what is going on behind the scenes in popular JavaScript libraries and giving you no-nonsense advice and back- ground information on how to do the right thing. W i t h the condensed years of e x p e r i e n c e of one of the best JavaScript developers around, it’s a must- read with great reference to e v e r y d a y JavaScript tasks. Thomas Fuchs Creator of the script.aculo.us framework An impressive collection of v e r y practical tips and tricks for getting the most out of JavaScript in today’s browsers, with topics ranging from fundamen- tals such as form v a l i d a t i o n and JSON handling to application e x a m p l e s such as mashups and geolocation. I highly recommend this book for anyone wanting to be more productive with JavaScript in their web applications. Dylan Schiemann CEO at SitePen, cofounder of the Dojo T o o l k i t There are a number of JavaScript books on the market today, b u t most of them tend to focus on the new or inexperienced JavaScript programmer.
    [Show full text]
  • Jquery: Novice to Ninja
    SECOND Pantone: EDITION CMYK: JQUERYGrey scale PANTONE Orange 021 C PANTONE 2955 C NOVICE TO NCMYK IO, 53, N100, 0 JCMYKA 100, 45, 0, 37 NEW KICKS ANDBlack 50% TRICKSBlack 100% BY EARLE CASTLEDINE & CRAIG SHARKIE SIMPLE, FAST, POWERFUL — JAVASCRIPT THE WAY IT SHOULD BE Summary of Contents Preface . xvii 1. Falling in Love with jQuery . 1 2. Selecting, Decorating, and Enhancing . 19 3. Animating, Scrolling, and Resizing . 53 4. Images and Slideshows . 93 5. Menus, Tabs, Tooltips, and Panels . 139 6. Construction, Ajax, and Interactivity . 187 7. Forms, Controls, and Dialogs . 239 8. Lists, Trees, and Tables . 305 9. Plugins, Themes, and Advanced Topics . 347 A. Reference Material . 409 B. JavaScript Tidbits . 419 C. Plugin Helpers . 425 Index . 431 JQUERY: NOVICE TO NINJA BY EARLE CASTLEDINE & CRAIG SHARKIE wnload from Wow! eBook <www.wowebook.com> o D iv jQuery: Novice to Ninja by Earle Castledine and Craig Sharkie Copyright © 2012 SitePoint Pty. Ltd. Product Manager: Simon Mackie Assistant Technical Editor: Diana MacDonald Technical Editor: Tom Museth Indexer: Michele Combes Expert Reviewer: Jörn Zaefferer Cover Designer: Alex Walker Editor: Kelly Steele Printing History: Latest Update: February 2012 First Edition: February 2010 Second Edition: February 2012 Notice of Rights All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means without the prior written permission of the publisher, except in the case of brief quotations included in critical articles or reviews. Notice of Liability The authors and publisher have made every effort to ensure the accuracy of the information herein.
    [Show full text]
  • Advanced-Game-Design-With-Html5
    www.allitebooks.com For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. www.allitebooks.com Contents at a Glance About the Author .....................................................................................................xv About the Technical Reviewers .............................................................................xvii Acknowledgments ..................................................................................................xix Introduction ............................................................................................................xxi ■ Chapter 1: Level Up! .............................................................................................. 1 ■ Chapter 2: The Canvas Drawing API .................................................................... 59 ■ Chapter 3: Working with Game Assets ................................................................ 93 ■ Chapter 4: Making Sprites and a Scene Graph .................................................. 111 ■ Chapter 5: Making Things Move ........................................................................ 165 ■ Chapter 6: Interactivity ...................................................................................... 189 ■ Chapter 7: Collision Detection ........................................................................... 239 ■ Chapter 8: Juice It Up .......................................................................................
    [Show full text]
  • A Bad Case of Stripes
    A Bad Case of Stripes A Bad Case of Stripes Author: David Shannon Publisher: Scholastic Paperbacks (2004) Binding: Paperback, 32 pages Item Call Number: E SHANN Camilla Cream loves lima beans, but she never eats them. Why? Because the other kids in her school don't like them. And Camilla is very, very worried about what other people think of her. In fact, she’s so worried that she's about to break out in a bad case of stripes! Questions to talk about with your child: Why did Camilla break out in stripes (and other patterns?) What did you notice about the patterns that break out on Camilla? Do they have anything to do with what’s happening around her? Look at each of the pictures. Was there anything about Camilla that stayed the same each time she changed? What made Camilla finally turn back into herself? Did Camilla learn anything from having a bad case of stripes? Look at the last page. Was there anything different about the way Camilla looks? Fun things to do together: David Shannon always hides a picture of his white terrier Fergus somewhere in each of his books. Look for the picture of Fergus in this book. Camilla loves lima beans. Have lima beans for lunch or dinner one day. Draw a picture of yourself with stripes, polka dots or some other pattern. Check out a book about patterns, for example, Pattern Bugs by Trudi Harris or Patterns at the Museum by Tracey Steffora. Recognizing and completing simple patterns is an important kindergarten readiness skill.
    [Show full text]
  • Foundations for Music-Based Games
    Die approbierte Originalversion dieser Diplom-/Masterarbeit ist an der Hauptbibliothek der Technischen Universität Wien aufgestellt (http://www.ub.tuwien.ac.at). The approved original version of this diploma or master thesis is available at the main library of the Vienna University of Technology (http://www.ub.tuwien.ac.at/englweb/). MASTERARBEIT Foundations for Music-Based Games Ausgeführt am Institut für Gestaltungs- und Wirkungsforschung der Technischen Universität Wien unter der Anleitung von Ao.Univ.Prof. Dipl.-Ing. Dr.techn. Peter Purgathofer und Univ.Ass. Dipl.-Ing. Dr.techn. Martin Pichlmair durch Marc-Oliver Marschner Arndtstrasse 60/5a, A-1120 WIEN 01.02.2008 Abstract The goal of this document is to establish a foundation for the creation of music-based computer and video games. The first part is intended to give an overview of sound in video and computer games. It starts with a summary of the history of game sound, beginning with the arguably first documented game, Tennis for Two, and leading up to current developments in the field. Next I present a short introduction to audio, including descriptions of the basic properties of sound waves, as well as of the special characteristics of digital audio. I continue with a presentation of the possibilities of storing digital audio and a summary of the methods used to play back sound with an emphasis on the recreation of realistic environments and the positioning of sound sources in three dimensional space. The chapter is concluded with an overview of possible categorizations of game audio including a method to differentiate between music-based games.
    [Show full text]
  • Hitachi Unified Storage File Module File Services Administration Guide
    Hitachi Unified Storage File Module File Services Administration Guide Release 12.5 MK-92HUSF004-09 December 2015 © 2011-2015 Hitachi, Ltd. All rights reserved. No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording, or stored in a database or retrieval system for any purpose without the express written permission of Hitachi, Ltd. Hitachi, Ltd., reserves the right to make changes to this document at any time without notice and assumes no responsibility for its use. This document contains the most current information available at the time of publication. When new or revised information becomes available, this entire document will be updated and distributed to all registered users. Some of the features described in this document might not be currently available. Refer to the most recent product announcement for information about feature and product availability, or contact Hitachi Data Systems Corporation at https://portal.hds.com. Notice: Hitachi, Ltd., products and services can be ordered only under the terms and conditions of the applicable Hitachi Data Systems Corporation agreements. The use of Hitachi, Ltd., products is governed by the terms of your agreements with Hitachi Data Systems Corporation. 2 Hitachi Unified Storage File Module File Services Administration Guide Hitachi Data Systems products and services can be ordered only under the terms and conditions of Hitachi Data Systems’ applicable agreements. The use of Hitachi Data Systems products is governed by the terms of your agreements with Hitachi Data Systems. By using this software, you agree that you are responsible for: a) Acquiring the relevant consents as may be required under local privacy laws or otherwise from employees and other individuals to access relevant data; and b) Verifying that data continues to be held, retrieved, deleted, or otherwise processed in accordance with relevant laws.
    [Show full text]
  • 2Nd USENIX Conference on Web Application Development (Webapps ’11)
    conference proceedings Proceedings of the 2nd USENIX Conference Application on Web Development 2nd USENIX Conference on Web Application Development (WebApps ’11) Portland, OR, USA Portland, OR, USA June 15–16, 2011 Sponsored by June 15–16, 2011 © 2011 by The USENIX Association All Rights Reserved This volume is published as a collective work. Rights to individual papers remain with the author or the author’s employer. Permission is granted for the noncommercial reproduction of the complete work for educational or research purposes. Permission is granted to print, primarily for one person’s exclusive use, a single copy of these Proceedings. USENIX acknowledges all trademarks herein. ISBN 978-931971-86-7 USENIX Association Proceedings of the 2nd USENIX Conference on Web Application Development June 15–16, 2011 Portland, OR, USA Conference Organizers Program Chair Armando Fox, University of California, Berkeley Program Committee Adam Barth, Google Inc. Abdur Chowdhury, Twitter Jon Howell, Microsoft Research Collin Jackson, Carnegie Mellon University Bobby Johnson, Facebook Emre Kıcıman, Microsoft Research Michael E. Maximilien, IBM Research Owen O’Malley, Yahoo! Research John Ousterhout, Stanford University Swami Sivasubramanian, Amazon Web Services Geoffrey M. Voelker, University of California, San Diego Nickolai Zeldovich, Massachusetts Institute of Technology The USENIX Association Staff WebApps ’11: 2nd USENIX Conference on Web Application Development June 15–16, 2011 Portland, OR, USA Message from the Program Chair . v Wednesday, June 15 10:30–Noon GuardRails: A Data-Centric Web Application Security Framework . 1 Jonathan Burket, Patrick Mutchler, Michael Weaver, Muzzammil Zaveri, and David Evans, University of Virginia PHP Aspis: Using Partial Taint Tracking to Protect Against Injection Attacks .
    [Show full text]
  • Oralcard: Web Information System for Oral Health
    Universidade de Aveiro Departamento de Electrónica, Telecomunicações e 2011 Informática José Manuel OralCard: Sistema de Informação Web para a Saúde Santos Melo Oral OralCard: Web Information System for Oral Health Universidade de Aveiro Departamento de Electrónica, Telecomunicações e 2011 Informática José Manuel OralCard: Web Information System for Oral Health Santos Melo OralCard: Sistema de Informação Web para a Saúde Oral Dissertação apresentada à Universidade de Aveiro para cumprimento dos requisitos necessários à obtenção do grau de Mestre em Engenharia de Computadores e Telemática (M.I.E.C.T.), realizada sob a orientação científica do Professor Doutor José Luís Guimarães Oliveira, Professor Associado do Departamento de Electrónica, Telecomunicações e Informática da Universidade de Aveiro. Dedico este trabalho à minha família. o júri presidente Professor Doutor Armando José Formoso de Pinho Professor Associado com Agregação do Departamento de Electrónica, Telecomunicações e Informática da Universidade de Aveiro vogais Professor Doutor António Manuel de Jesus Pereira Professor Coordenador do Departamento de Engenharia Informática da Escola Superior de Tecnologia e Gestão do Instituto Politécnico de Leiria Professor Doutor José Luís Guimarães Oliveira Professor Associado do Departamento de Electrónica, Telecomunicações e Informática da Universidade de Aveiro agradecimentos Um obrigado especial ao Professor José Luís Oliveira pela minha integração no grupo de trabalho de Bioinformática, no Instituto de Engenharia Electrónica e Telemática de Aveiro (IEETA). Um obrigado especial ao Pedro Lopes e ao Joel P. Arrais, que me ajudaram com grande dedicação no desenvolvimento deste trabalho. Um obrigado ao Nuno Rosa pela ajuda na parte biológica e científica do trabalho. Este projecto não estaria concluído sem reconhecer a ajuda prestada pelos meus pais e irmãs, não só na dissertação como em todo o percurso académico na Universidade de Aveiro.
    [Show full text]
  • Files I Have Known
    FILES I HAVE KNOWN FOREWORD The data reminiscences that follow are probably an unrewarding read. Published reminiscences stand as monuments to the ego of their authors. However, the true purpose of this text is to experimentally substitute digital files with written memories of those files, prompted by metadata. Can the original essence of a data file be recreated purely by words? Many of the files chosen here are obscure and not necessarily available online. It’s likely that the files themselves are of little interest if discovered without their context, forming only fragments of nonsensicality in the wider noise of online data. These reminiscences too may appear as yet further noise flung onto an internet already overpopulated with noise vying for visibility. But by intimately analysing one’s own files in terms of their emotional impact, the reader may come to appreciate that every file has a story. In our daily dealings with data, we partake in the creation of such stories, and the stories also create us. FILES I HAVE KNOWN CHAPTER I “dontryathome.zip” Size: 345KB (345,410 bytes) Created: 31 December 2004 13:53 Format: ZIP Archive “dontryathome.zip” was a compressed archive containing images randomly taken from the web. It’s a file I no longer possess, so all that exists of it now is the above scrap of metadata, the text of the email it was attached to, and the memory. This may well be the eventual fate of all data – future generations might only be left with metadata and memories to reminiscence over if either (a) the pace of technology outstrips the means to preserve and open obsolete file formats, or (b) a sudden cataclysmic environmental or economic global disaster annuls electronic technologies.
    [Show full text]
  • Lmod Documentation Release 8.5.16
    Lmod Documentation Release 8.5.16 Robert McLay Sep 24, 2021 Contents 1 PURPOSE 1 2 OVERVIEW 3 3 Lmod Web Sites 5 4 Introduction to Lmod 7 5 Installing Lmod 27 6 Advanced Topics 55 7 Topics yet to be written 119 8 Indices and tables 121 i ii CHAPTER 1 PURPOSE Lmod is a Lua based module system that easily handles the MODULEPATH Hierarchical problem. Environment Modules provide a convenient way to dynamically change the users’ environment through modulefiles. This includes easily adding or removing directories to the PATH environment variable. Modulefiles for Library packages provide environment variables that specify where the library and header files can be found. 1 Lmod Documentation, Release 8.5.16 2 Chapter 1. PURPOSE CHAPTER 2 OVERVIEW This guide is written to explain what Environment Modules are and why they are very useful for both users and system administrators. Lmod is an implementation of Environment Modules, much of what is said here is true for any environment modules system but there are many features which are unique to Lmod. Environment Modules provide a convenient way to dynamically change the users’ environment through modulefiles. This includes easily adding or removing directories to the PATH environment variable. A modulefile contains the necessary information to allow a user to run a particular application or provide access to a particular library. All of this can be done dynamically without logging out and back in. Modulefiles for applications modify the user’s path to make access easy. Modulefiles for Library packages provide environment variables that specify where the library and header files can be found.
    [Show full text]
  • Evaluating Presentation Layer Development Frameworks for EJB Applications in J2EE Architecture
    International Conference on Computer Science and Information Technology (ICCSIT'2011) Pattaya Dec. 2011 Evaluating Presentation Layer Development Frameworks for EJB Applications in J2EE Architecture Ohm Samkoses, Dipl. -Inform. Matthias Vianden, Prof. Dr. rer. nat. Horst Lichter gathering and analysis, multiple rounds of frameworks Abstract—For medium to large organizations, information selection with different criteria, prototype implementations, systems play an important role for information storage and retrieval. and results evaluation. The chosen frameworks for prototype They are used to support business processes such as decision-making. development should fulfill most of the requirement and the In information systems, huge amountof data needs to be manipulated prototypes implementation should reflect the solution for each and visualized. One way to handle this complexity is to use Enterprise JavaBeans (EJB) [1] in a J2EE architecture. Since EJB has requirement clearly, and must be able to work with the not been designed to work in the Presentation Layer, suitable existing system's environment: the back-end is managed by Presentation Layer Development frameworks are introduced to EJB 3.0, and IBM Websphere Application Server 7.0. enhanced thepresentation layer of the information systems. The MeDIC (Metric Definition Integration Calculation) system and XAM II. TASKS / STEPS (eXam Assignment and Management) system [2] are typical representatives of such information system. A. First frameworks selection Nowadays, many frameworks, such as Java Server Faces (JSF), First step was to narrow-down the scope of the focused Wicket, and Tapestry, exist to cover the Presentation Layer. They framework based mainly on framework popularity. Other provide a variety of features and architecture enhancements.
    [Show full text]
  • Game Engine for Loc Game Engine for Location-Based Services Based
    FACULDADEDE ENGENHARIADA UNIVERSIDADEDO PORTO GameEngineforLocation -Based Services TiagoPintoFernandes MasterinInformaticsandComputingE ngineering Supervisor: AntónioCoelho(AuxiliarProfessor) June2010 Game Engine for Location Based Services – Tiago Fernandes – MIEIC / FEUP – 2009/2010 ©TiagoPintoFernandes,2010 2 Game Engine for Location Based Services – Tiago Fernandes – MIEIC / FEUP – 2009/2010 GameEngineforLocationBasedServices TiagoFernandes MasterinInformaticsAndComputingEngineering AprovadoemprovaspúblicaspeloJúri: Presidente:NomedoPresidente(Título) VogalExterno:NomedoArguente(Título) Orientador:NomedoOrientador(Título) ____________________________________________________ 3 Game Engine for Location Based Services – Tiago Fernandes – MIEIC / FEUP – 2009/2010 30deJunhode2010 Resumo O objectivo do presente projecto consiste em introduzir uma nova dimensão ao conceito de motor de jogo, através da implementação do conceito de Location-Based Services numa Frameworkdecriaçãodejogos.Hojeemdia,existe umgrandenúmerodemotoresdejogo, comerciaisougratuitos,disponíveisnomercado.Porém,poucoscontemplamapossibilidadede tirar partido das capacidades e conceitos relativos aos serviços de localização geográfica existentes. Os que procuram utilizar estes conceitos, normalmente estão muito longe do que habitualmenteéconsideradoummotordejogo,devidoaofactodenãoconseguiremfornecer umabasedeprogramaçãoestávelouumaplataformadedesenvolvimentoflexívelparaacriação dejogos,tendousualmenteporbaseplataformasWebnasquaisosutilizadoresdevemactualizar
    [Show full text]