diff --git a/board.py b/board.py index 68b33d934..948e2ccbd 100644 --- a/board.py +++ b/board.py @@ -41,5 +41,11 @@ class Board: else: win.blit(self.dirt, cube_rect) - def is_rock(self, col, row): - return self.board[row][col] == 0 \ No newline at end of file + def is_rock(self, row, col): + return self.board[row][col] == 0 + + def is_weed(self,row,col): + return self.board[row][col] == 1 + + def set_grass(self,row,col): + self.board[row][col]=2 \ No newline at end of file diff --git a/main.py b/main.py index 91bfaa38f..03941c9b4 100644 --- a/main.py +++ b/main.py @@ -25,18 +25,46 @@ def main(): run = False keys = pygame.key.get_pressed() - if keys[pygame.K_UP] and tractor.row > 0 and not board.is_rock(tractor.row-1, tractor.col): - tractor.row -= 1 - tractor.direction = "up" - if keys[pygame.K_DOWN] and tractor.row < rows-1 and not board.is_rock(tractor.row+1,tractor.col): - tractor.row += 1 - tractor.direction = "down" - if keys[pygame.K_LEFT] and tractor.col > 0 and not board.is_rock(tractor.row,tractor.col-1): - tractor.col -= 1 - tractor.direction = "left" - if keys[pygame.K_RIGHT] and tractor.col < cols -1 and not board.is_rock(tractor.row,tractor.col+1): - tractor.col += 1 - tractor.direction = "right" + + if keys[pygame.K_UP] and tractor.row > 0 : + if board.is_weed(tractor.col, tractor.row - 1): + board.set_grass(tractor.col, tractor.row - 1) + tractor.row -= 1 + tractor.direction = "up" + elif not board.is_rock(tractor.col, tractor.row - 1): + tractor.row -= 1 + tractor.direction = "up" + + + + if keys[pygame.K_DOWN] and tractor.row < rows-1 : + if board.is_weed(tractor.col, tractor.row + 1): + board.set_grass(tractor.col, tractor.row + 1) + tractor.row += 1 + tractor.direction = "down" + elif not board.is_rock(tractor.col, tractor.row + 1): + tractor.row += 1 + tractor.direction = "down" + + + if keys[pygame.K_LEFT] and tractor.col > 0: + if board.is_weed(tractor.col - 1, tractor.row): + board.set_grass(tractor.col - 1, tractor.row) + tractor.col -= 1 + tractor.direction = "left" + elif not board.is_rock(tractor.col - 1, tractor.row): + tractor.col -= 1 + tractor.direction = "left" + + + if keys[pygame.K_RIGHT] and tractor.col < cols - 1: + if board.is_weed(tractor.col + 1, tractor.row): + board.set_grass(tractor.col + 1, tractor.row) + tractor.col += 1 + tractor.direction = "right" + elif not board.is_rock(tractor.col + 1, tractor.row): + tractor.col += 1 + tractor.direction = "right" board.draw_cubes(WIN) tractor.draw(WIN)