Example code used in teaching Python with Pygame.
-
recipes/
Minimal, focused Pygame examples ("recipes") for specific tasks, such as displaying images, drawing text, and handling timed events. Seerecipes/README.mdfor details. -
sprite/
Reusable sprite classes (RectSprite,CircleSprite, andImageSprite) and additional related examples. (See also TODO below.) -
tw/
Transition warning program (tw.py) used, for example, to display a countdown of work time remaining in a classroom. Also an example of a Pygame app. -
mrrectangle.py
"Mr. Rectangle" game. Complete example that demonstrates importing sprites, a sprite with an image, collision detection, drawing text, setting a window caption, game over/restart logic, and a timer. -
rocketlander.py
"Rocket Lander" game. Complete example that demonstrates using masks to detect collisions of aCircleSpritewith anImageSpritewith an arbitrary shape and transparent background. -
sprite-example.py
Basic, single-file example of sprite creation, movement with keyboard input, and using a spriteupdatemethod. -
sprite-shape-example.py
Single-file example with circle collision detection using masks. -
pygame-widgets-example.py
Example of using thepygame-widgetslibrary to add a button and text box to a Pygame window. -
smoketest.py
This is not as an example itself, but used to smoke test all the examples in this project.
- Add a music player recipe.
- The idea of
CircleSprite,RectSprite, andImageSpritein thespritedirectory is that these could be packaged so learners can use these sprites without having to write a class. I.e., they could add to their code:
import spritefactory
And then:
spritefactory.create.circle_sprite(color, center, radius)
It's intentional that the signature of that function, and even the structure of that whole line, is similar to drawing a circle without using a sprite, so learners can adapt their "non-sprite" code (i.e., pygame.draw.circle(screen, color, center, radius)) to use sprites if that would help with their project. (This assumes there is also a create.py module that is generated containing the create or equivalent class methods for instantiating the various types of sprites.)