Lab 9: Sprites and Walls

Goal: Create a landscape of wall objects that the user must navigate around to collect coins. This will help practice using for loops to create and position multiple items.



If you have more than one type of wall block, that's great. But you don't need more than one wall list. The physics engine requires all walls be kept in the same list.

  • Step 4: Update the graphics. Use multiple types of blocks for the walls. Maybe change the character. This is worth 4 points, one point for each graphic used that wasn't part of the base example. Remember to put a quick citation in your program just before you load graphics or sounds.

  • Step 5: Add coins (or something) for the user to collect. 4 points, based on the complexity of the coin layout. Remember, you can place coins like we placed wall blocks. If you randomly place coins, you might end up with coins on top of walls. See the "Important Part" around line 75 or so of the example for how to avoid this.

  • Step 6: Keep score of how many coins were collected, and display on-screen. 4 points.

  • Step 7: Add a sound to play each time the user collects a coin. 2 points.


Don't move the player twice!

The command self.physics_engine.update() moves the player while checking for walls. The command self.all_sprites_list.update() will move the player WITHOUT checking for walls. Don't do both commands. You'll end up "walking through walls." If you have other sprites to update, update only those sprites. For example: self.coin_list.update().

Additional Challenges

These aren't required for the lab, but I've had students ask in prior years how to do these: