
X = random.randint(- WIDTH / 2 + FOOD_SIZE, WIDTH / 2 - FOOD_SIZE) Snake.pop(0) # Keep the snake the same length unless fed. # No self-collision so we can continue moving the snake.

If new_head in snake: # Or collision with walls? # screen.update() Only needed if we are fussed about drawing food before next call to `draw_snake()`. Global snake, snake_direction, food_pos, pen Robin Andrews """ A simple snake game using Turtle Graphics. For example you could change some colours, or the speed of the snake, or the controls etc.įor more experienced programmers, why not improve upon the basic idea by adding scoring and other features? Whatever your level, you should experiment with the code, play with it. Depending on your level of experiece, you may be able to understand exactly how it works or maybe just some of it. The basic movement of the snake can be implemented in a simple program as shown here: import turtleįor info on using the super-handy stamp() function of Python Turtle Graphics, check out Python Classic Snake Game Code Listing Ta da the snake has moved forward one position! Moving the Snake with Python Turtle Graphics Finally, remove the leftmost item ( s1, or ), using snake.pop(0).Increment the x coordinate of new_head, giving. Must be copied or original would be modified by next step. New_head = py() # snake means the rightmost item. create a new list item for the new head position:.NB For this demonstration, consider the leftmost list item to be the tail and the rightmost to be the head. These are the steps for the second version: Create a copy of the head, add it to the front of the snake and then chop off the last segment.Chop off the last segment, and add it to the front of the snake each time the snake "moves".Here are two ways to conceptualize what is basically the same effect: The main challenge is how to get the snake to move. There are several ways to approach programming the Classic Snake Game in Python (or other languages for that matter). We could use sn to notate the nth segment: We represent our snake as a list of pairs of coordinates: Python Snake Game Program Explained Snake Representation

You can play to a version of Ĭlick on the Turtle window to enable keyboard control using the arrow keys. There is a about the Turtle Graphics demos which come with IDLE (the development environment that ships with Python) - check them out to get an idea of some of the fun stuff you can do! Python Turtle Graphics is awesome! It can be used to learn and teach Python programming and Computer Science from elementary to advanced level.
