heading = (0, -1) elif pressed[pygame.K_DOWN]: heading = (0, 1) elif pressed[pygame.K_LEFT]: heading = (-1, 0) elif pressed[pygame.K_RIGHT]: heading = (1, 0) # remember first boolean evaluates first because of 'and' if heading and game.snake.heading == (heading[0] * -1, heading[1] * -1): pass elif heading: game.change_snake_heading(heading) try: game.move_snake() except: done = True screen.fill((0, 0, 0)) x, y = game.get_apple_pos() pygame.draw.rect( screen, apple_color, pygame.Rect(x * pixel_mult, y * pixel_mult, pixel_mult, pixel_mult)) tail = game.get_snake_tail() for x, y in tail: pygame.draw.rect( screen, snake_color, pygame.Rect(x * pixel_mult, y * pixel_mult, pixel_mult,