From a1d4895a7a3d216cea6ac1fe79f9846d0ed5e3e9 Mon Sep 17 00:00:00 2001 From: Wojciech Kubicki Date: Wed, 10 Apr 2024 17:38:08 +0200 Subject: [PATCH] feat(tractor): rotate tractor on left-right arrow keys --- src/tractor.py | 39 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/src/tractor.py b/src/tractor.py index c681b3e5..355a2865 100644 --- a/src/tractor.py +++ b/src/tractor.py @@ -43,9 +43,9 @@ class Tractor(pygame.sprite.Sprite): def update(self): keys = pygame.key.get_pressed() if keys[pygame.K_LEFT]: - self.move('left') + self.rotate('left') if keys[pygame.K_RIGHT]: - self.move('right') + self.rotate('right') if keys[pygame.K_UP]: self.move('up') if keys[pygame.K_DOWN]: @@ -103,3 +103,38 @@ class Tractor(pygame.sprite.Sprite): return neighbors + + def rotate(self, rotate): + match (self.direction, rotate): + case ("north", "left"): + self.image = pygame.image.load('images/tractor/west.png').convert_alpha() + self.image = pygame.transform.scale(self.image, (TILE_SIZE, TILE_SIZE)) + self.direction = 'west' + case ("north", "right"): + self.image = pygame.image.load('images/tractor/east.png').convert_alpha() + self.image = pygame.transform.scale(self.image, (TILE_SIZE, TILE_SIZE)) + self.direction = 'east' + case ("east", "right"): + self.image = pygame.image.load('images/tractor/south.png').convert_alpha() + self.image = pygame.transform.scale(self.image, (TILE_SIZE, TILE_SIZE)) + self.direction = 'south' + case ("east", "left"): + self.image = pygame.image.load('images/tractor/north.png').convert_alpha() + self.image = pygame.transform.scale(self.image, (TILE_SIZE, TILE_SIZE)) + self.direction = 'north' + case ("south", "right"): + self.image = pygame.image.load('images/tractor/west.png').convert_alpha() + self.image = pygame.transform.scale(self.image, (TILE_SIZE, TILE_SIZE)) + self.direction = 'west' + case ("south", "left"): + self.image = pygame.image.load('images/tractor/east.png').convert_alpha() + self.image = pygame.transform.scale(self.image, (TILE_SIZE, TILE_SIZE)) + self.direction = 'east' + case ("west", "left"): + self.image = pygame.image.load('images/tractor/south.png').convert_alpha() + self.image = pygame.transform.scale(self.image, (TILE_SIZE, TILE_SIZE)) + self.direction = 'south' + case ("west", "right"): + self.image = pygame.image.load('images/tractor/north.png').convert_alpha() + self.image = pygame.transform.scale(self.image, (TILE_SIZE, TILE_SIZE)) + self.direction = 'north'