capture weeds

This commit is contained in:
s464923 2024-03-24 19:49:08 +01:00
parent 7351c59ab7
commit 3d3781de15
2 changed files with 48 additions and 14 deletions

View File

@ -41,5 +41,11 @@ class Board:
else: else:
win.blit(self.dirt, cube_rect) win.blit(self.dirt, cube_rect)
def is_rock(self, col, row): def is_rock(self, row, col):
return self.board[row][col] == 0 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

36
main.py
View File

@ -25,16 +25,44 @@ def main():
run = False run = False
keys = pygame.key.get_pressed() keys = pygame.key.get_pressed()
if keys[pygame.K_UP] and tractor.row > 0 and not board.is_rock(tractor.row-1, tractor.col):
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.row -= 1
tractor.direction = "up" tractor.direction = "up"
if keys[pygame.K_DOWN] and tractor.row < rows-1 and not board.is_rock(tractor.row+1,tractor.col): 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.row += 1
tractor.direction = "down" tractor.direction = "down"
if keys[pygame.K_LEFT] and tractor.col > 0 and not board.is_rock(tractor.row,tractor.col-1): 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.col -= 1
tractor.direction = "left" tractor.direction = "left"
if keys[pygame.K_RIGHT] and tractor.col < cols -1 and not board.is_rock(tractor.row,tractor.col+1): 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.col += 1
tractor.direction = "right" tractor.direction = "right"