
P A R T I I I
P R O G R A M M I N G W I T H T H E R A S P B E R R Y P I
192
The
for
statement runs through each of the snake segments’ locations, from the second list
entry to the end of the list, and compares it to the current position of the snake’s head. It’s
important to start the comparison at the second entry using
snakeSegments[1:]
and not
the first. The first entry is always set to the position of the head, and starting the comparison
here would result in instant death for the snake as soon as the game begins.
Finally, all that is required for the game to be complete is to control the speed using the
fpsClock
variable. Without the variable, which you created at the start of the program, the
game would run too quickly to play. Type in the following line to finish the program:
fpsClock.tick(20)
If you think the game is too easy or too slow, you can increase this number; or if the game is
too hard or too fast, decrease the number. Save the program as
raspberrysnake.py
, and
run it either by using IDLE’s Run Module option in the Run menu or from the terminal by
typing
python raspberrysnake.py
. The game will start as soon as it has loaded (see
Figure 12-6), so make sure you’re ready!
Figure 12-6:
Playing
Raspberry Snake
on the
Raspberry Pi
A full copy of the program listing for Raspberry Snake is included in Appendix A, “Python
Recipes”, and on the Raspberry Pi User Guide website at
www.wiley.com/go/raspber-
rypiuserguide2e
. Downloading the source code from the website will save you some typ-
ing, but entering the code by hand is a good way of ensuring that you understand what each
Summary of Contents for A
Page 1: ......
Page 2: ......
Page 3: ...Raspberry Pi User Guide 2nd Edition...
Page 4: ......
Page 5: ...Raspberry Pi User Guide 2nd Edition Eben Upton and Gareth Halfacree...
Page 10: ......
Page 26: ...R A S P B E R R Y P I U S E R G U I D E S E C O N D E D I T I O N 10...
Page 28: ......
Page 29: ...Chapter 1 Meet the Raspberry Pi...
Page 37: ...Chapter 2 Getting Started with the Raspberry Pi...
Page 56: ......
Page 57: ...Chapter 3 Linux System Administration...
Page 79: ...Chapter 4 Troubleshooting...
Page 89: ...Chapter 5 Network Configuration...
Page 109: ...Chapter 6 The Raspberry Pi Software Configuration Tool...
Page 122: ......
Page 123: ...Chapter 7 Advanced Raspberry Pi Configuration...
Page 140: ......
Page 141: ...Chapter 8 The Pi as a Home Theatre PC...
Page 151: ...Chapter 9 The Pi as a Productivity Machine...
Page 160: ......
Page 161: ...Chapter 10 The Pi as a Web Server...
Page 172: ......
Page 173: ...Chapter 11 An Introduction to Scratch...
Page 189: ...Chapter 12 An Introduction to Python...
Page 216: ......
Page 218: ......
Page 219: ...Chapter 13 Learning to Hack Hardware...
Page 234: ......
Page 235: ...Chapter 14 The GPIO Port...
Page 249: ...Chapter 15 The Raspberry Pi Camera Module...
Page 265: ...Chapter 16 Add on Boards...
Page 280: ......
Page 281: ...Appendix A Python Recipes...
Page 287: ...Appendix B Raspberry Pi Camera Module Quick Reference...
Page 293: ...Appendix C HDMI Display Modes...