Не выполняется условие при нажатии на клавишу
Я делаю игру "Змейка". Пока что я хочу добиться перемещения по оси х. При нажатии на курсорные клавиши вправо и влево квадрат должен менять направление, но этого не происходит.
import pygame
class snake():
def __init__(self, screen, x, y, side, colour):
self.screen = screen
self.x = x
self.y = y
self.side = side
self.colour = colour
def beh(self, speed):
pygame.draw.rect(self.screen, self.colour, (self.x, self.y, self.side, self.side))
self.x += speed
key = pygame.key.get_pressed()
if key[pygame.K_LEFT]:
if speed > 0:
speed *= -1
elif key[pygame.K_RIGHT]:
if speed < 0:
speed *= -1
def run():
GREEN = (0, 128, 0)
SIZE = (400, 600)
SIDE = 25
BLAKE = (0, 0, 0)
screen = pygame.display.set_mode(SIZE)
x, y = 50, 50
speed = 3
fps = 30
sn = snake(screen, x, y, SIDE, GREEN)
clock = pygame.time.Clock()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
clock.tick(fps)
screen.fill(BLAKE)
sn.beh(speed)
pygame.display.flip()
run()