A game that needs no formal introduction, all you have to do is maneuver the snake around the screen, eat as many snacks as possible to grow longer and not end up eating(hitting) yourself.
# This game is from the official documentation of freegames # https://pypi.org/project/freegames/ # pip install freegames # Tap on Tile to Move # import modules from random import * import turtle as t from freegames import square, vector # Set window title, color and icon t.title("Snake") root = t.Screen()._root root .iconbitmap("logo-ico.ico") t.bgcolor('#99ffbb') food = vector(0, 0) snake = [vector(10, 0)] aim = vector(0, -10) # Functions # Change snake direction def change(x, y): aim.x = x aim.y = y # Return True if head inside boundaries def inside(head): return -200 < head.x < 190 and -200 < head.y < 190 # Move snake forward one segment def move(): head = snake[-1].copy() head.move(aim) if not inside(head) or head in snake: square(head.x, head.y, 9, 'red') t.update() return snake.append(head) if head == food: print('Snake:', len(snake)) food.x = randrange(-15, 15) * 10 food.y = randrange(-15, 15) * 10 else: snake.pop(0) t.clear() for body in snake: square(body.x, body.y, 9, '#802b00') square(food.x, food.y, 9, '#cc99ff') t.update() t.ontimer(move, 100) t.setup(420, 420, 370, 0) t.hideturtle() t.tracer(False) t.listen() t.onkey(lambda: change(10, 0), 'Right') t.onkey(lambda: change(-10, 0), 'Left') t.onkey(lambda: change(0, 10), 'Up') t.onkey(lambda: change(0, -10), 'Down') move() t.done()