I am working on a pygame version of the game snake. The problem I am having so far is that I don't want to allow diagonal movement but currently there is. Any help would be much appreciated. Thanks in advance
import pygame
class Snake:
def __init__(self):
self.x = 250
self.y = 250
self.x_change = 0
self.y_change = 0
self.width = 25
self.height = 25
self.win = pygame.display.set_mode((500,500))
self.clock = pygame.time.Clock()
self.run = True
pygame.init()
pygame.display.set_caption('Snake')
def gameLoop(self):
while self.run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
self.x_change = -10
elif event.key == pygame.K_RIGHT:
self.x_change = 10
elif event.key == pygame.K_UP:
self.y_change = -10
elif event.key == pygame.K_DOWN:
self.y_change = 10
self.x += self.x_change
self.y += self.y_change
self.win.fill((76, 66, 53))
pygame.draw.rect(self.win, (145, 255, 51), (self.x, self.y, self.width, self.height))
pygame.display.update()
self.clock.tick(3)
pygame.quit()
p1 = Snake()
p1.gameLoop()