Making Games with Python & Pygame

When you get down to it, programming video games is just about lighting up pixels to make pretty pictures appear on the screen in response to keyboard and mouse input.

And there are very few things that are as fun.

This book will teach you how to make graphical computer games in the Python programming language using the Pygame library.

This book assumes you know a little bit about Python or programming in general. If you don’t know how to program, you can learn by downloading the free book ?Invent Your Own Computer Games with Python? from Or you can jump right into this book and mostly pick it up along the way.

Table of contents

  • Who is this book for?
  • Installing Python and Pygame
  • What You Should Know Before You Begin
  • Downloading and Installing Python
  • Windows Instructions
  • Mac OS X Instructions
  • Ubuntu and Linux Instructions
  • Starting Python
  • Installing Pygame
  • How to Use This Book
  • The Featured Programs
  • Downloading Graphics and Sound Files
  • Line Numbers and Spaces
  • The QUIT Event and pygamequit() Function
  • Email questions to the author: al@inventwithpythoncom
  • Surface Objects and The Window
  • Colors
  • Transparent Colors
  • pygameColor Objects
  • pygamePixelArray Objects
  • The pygamedisplayupdate() Function
  • Animation
  • Frames Per Second and pygametimeClock Objects
  • Making the Source Code Look Pretty
  • Using Constant Variables Instead of Strings
  • Making Sure We Have Enough Icons
  • Tuples vs Lists, Immutable vs Mutable
  • One Item Tuples Need a Trailing Comma
  • Converting Between Lists and Tuples
  • The global statement, and Why Global Variables are Evil
  • Data Structures and D Lists
  • Drawing the Game State to the Screen
  • Creating the ?Revealed Boxes? Data Structure
  • Creating the Board Data Structure: Step – Get All Possible Icons
  • Step – Shuffling and Truncating the List of All Icons
  • Step – Placing the Icons on the Board
  • Splitting a List into a List of Lists
  • Different Coordinate Systems
  • Converting from Pixel Coordinates to Box Coordinates
  • Drawing the Icon, and Syntactic Sugar
  • Syntactic Sugar with Getting a Board Space’s Icon’s Shape and Color
  • Drawing the Box Cover
  • Handling the Revealing and Covering Animation
  • Revealing and Covering the Groups of Boxes
  • Slide Puzzle
  • How to Play Slide Puzzle
  • Source Code to Slide Puzzle
  • Second Verse, Same as the First
  • Setting Up the Buttons
  • Being Smart By Using Stupid Code
  • The Main Game Loop
  • Clicking on the Buttons
  • Sliding Tiles with the Mouse
  • WASD and Arrow Keys
  • Actually Performing the Tile Slide
  • IDLE and Terminating Pygame Programs
  • Checking for a Specific Event, and Posting Events to Pygame’s Event Queue
  • Creating the Board Data Structure
  • Not Tracking the Blank Position
  • Making a Move by Updating the Board Data Structure
  • When NOT to Use an Assertion
  • Getting a Not-So-Random Move
  • Converting Tile Coordinates to Pixel Coordinates
  • Drawing the Buttons
  • Animating the Tile Slides
  • The copy() Surface Method
  • Creating a New Puzzle
  • Animating the Board Reset
  • Time vs Memory Tradeoffs
  • Nobody Cares About a Few Bytes
  • How to Play Simulate
  • Source Code to Simulate
  • The Usual Starting Stuff
  • Setting Up the Buttons
  • The main() Function
  • Some Local Variables Used in This Program
  • Drawing the Board and Handling Input
  • Checking for Mouse Clicks
  • Checking for Keyboard Presses
  • The Two States of the Game Loop
  • Figuring Out if the Player Pressed the Right Buttons
  • Epoch Time
  • Drawing the Board to the Screen
  • Same Old terminate() Function
  • Reusing The Constant Variables
  • Animating the Button Flash
  • The Usual Setup Code
  • About This Book ix
  • Setting up Timing Constants for Holding Down Keys
  • More Setup Code
  • Setting Up the Piece Templates
  • Splitting a ?Line of Code? Across Multiple Lines
  • The main() Function
  • The Start of a New Game
  • The Game Loop
  • The Event Handling Loop
  • Pausing the Game
  • Using Movement Variables to Handle User Input
  • Checking if a Slide or Rotation is Valid
  • Finding the Bottom
  • Drawing Everything on the Screen
  • The calculateLevelAndFallFreq() Function
  • Email questions to the author: al@inventwithpythoncom
  • Drawing the Score and Level Text
  • Drawing a Piece on the Board or Elsewhere on the Screen
  • Keeping Track of the Location of Things in the Game World
  • Starting Off with Some Grass
  • Adding New Grass and Squirrel Objects
  • Camera Slack, and Moving the Camera View
  • Drawing the Background, Grass, Squirrels, and Health Meter
  • The Event Handling Loop
  • Moving the Player, and Accounting for Bounce
  • Collision Detection: Eat or Be Eaten
  • Reading and Writing Text Files
  • Text Files and Binary Files
  • Writing to Files
  • Reading from Files
  • About the Star Pusher Map File Format
  • Recursive Functions
  • The Flood Fill Algorithm
  • Drawing the Map
  • Checking if the Level is Finished
  • Source Code for Ink Spill
  • Source Code for Four-In-A-Row


Size : 4456.332 Kb
File type : pdf
Downloads: 1513
Created: 2019-05-01

Others Python Tutorials

Test-Driven Development with Python

Programming for Computations - Python: A Gentle Introduction to Numerical Simulations with Python 3.6

Python Tutorial for Beginners in PDF

Automate the Boring Stuff with Python: Practical Programming for Total Beginners

Introduction to Scientific Programming with Python

Others related eBooks about Making Games with Python & Pygame

Getting started with React Native tutorial

Download free React Native tutorial course in PDF, training file in 32 chapters and 91 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

PC Assembly Language

The purpose of this book is to give the reader a better understanding of how computers really work at a lower level than in programming languages like Pascal. The tutorial has extensive coverage of interfacing assembly and C code and so might be of interest to C programmers who want to learn about...

C# Notes for Professionals

The C# Notes for Professionals book is compiled from Stack Overflow Documentation. Text content is released under , the content is written by the beautiful people at Stack Overflow. Text content is released under Creative Commons BY-SA. See credits at the end of this book whom contributed to the var...

Microsoft Platform and Tools for Mobile App Development

Understanding and creating a mobile app development strategy is an important process for t..., download free Microsoft Platform and Tools for Mobile App Development tutorial in PDF (150 pages) created by Simon Calvert ....

Is Parallel Programming Hard, And, If So, What Can You Do About It?

Download free course Is Parallel Programming Hard, And, If So, What Can You Do About It?, pdf file on 601 pages by Paul E. McKenney....

IPython Interactive Computing and Visualization Cookbook

This book contains many ready-to-use, focused recipes for high-performance scientific computing and data analysis, from the latest IPython/Jupyter features to the most advanced tricks, to help you write better and faster code. You will apply these state-of-the-art methods to various real-world examp...

The C Programming Language Handbook

Download free course The C Programming Language Handbook, pdf file on 78 pages by Flavio Copes....

Create a C# Project with Visual Studio Code free PDF

Download free course Create a C# Project with Visual Studio Code free PDF, pdf file on 6 pages by

Free Xamarin.Forms Programming Tutorial

Download free Xamarin tutorial course in PDF, training file in 37 chapters and 181 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

Making Games with Python & Pygame

Making Games with Python & Pygame covers the Pygame library with the source code for 11 ga..., download free Game Development tutorial in PDF (365 pages) created by ....