diff --git a/board.py b/board.py index 761a4794a..68b33d934 100644 --- a/board.py +++ b/board.py @@ -1,25 +1,45 @@ import pygame from constant import size, rows, cols - +import random class Board: def __init__(self): self.board = [] + self.load_images() + self.generate_board() def load_images(self): - self.grass = pygame.image.load("grass.png") - self.dirt = pygame.image.load("dirt.png") + self.grass = pygame.image.load("board/grass.png") + self.dirt = pygame.image.load("board/dirt.png") + self.rock= pygame.image.load("board/rock.png") + self.weeds = pygame.image.load("board/weeds.png") + + def generate_board(self): + self.board = [[random.choice([0,1,2,3,4,5,6,7,8,9]) for _ in range(rows)] for _ in range(cols)] def draw_cubes(self, win): for row in range(rows): for col in range(cols): cube_rect = pygame.Rect(row * size, col * size, size, size) + cube=self.board[row][col] - if (row) % 2 == 0: + if row==4 and col==4: win.blit(self.grass, cube_rect) - else: + elif cube == 0: + rock_scale = pygame.transform.scale(self.rock, (size, size)) win.blit(self.dirt, cube_rect) + win.blit(rock_scale, cube_rect) + elif cube == 1: + weed_scale = pygame.transform.scale(self.weeds, (size,size)) + win.blit(self.grass, cube_rect) + win.blit(weed_scale, cube_rect) + elif cube in(2,3,4,5): + win.blit(self.grass, cube_rect) + 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 diff --git a/dirt.png b/board/dirt.png similarity index 100% rename from dirt.png rename to board/dirt.png diff --git a/grass.png b/board/grass.png similarity index 100% rename from grass.png rename to board/grass.png diff --git a/board/rock.png b/board/rock.png new file mode 100644 index 000000000..845ef312c Binary files /dev/null and b/board/rock.png differ diff --git a/board/weeds.png b/board/weeds.png new file mode 100644 index 000000000..3376754d6 Binary files /dev/null and b/board/weeds.png differ diff --git a/main.py b/main.py index 04bd0e56d..91bfaa38f 100644 --- a/main.py +++ b/main.py @@ -25,16 +25,16 @@ def main(): run = False keys = pygame.key.get_pressed() - if keys[pygame.K_UP] and tractor.row > 0: + 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: + 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: + 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: + 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" diff --git a/tractor.py b/tractor.py index 7938d94b4..4588616bb 100644 --- a/tractor.py +++ b/tractor.py @@ -5,12 +5,13 @@ class Tractor: self.row = row self.col = col self.images = { - "up": pygame.image.load("up.png"), - "down": pygame.image.load("down.png"), - "left":pygame.image.load("left.png"), - "right":pygame.image.load("right.png") + "up": pygame.image.load("tractor/up.png"), + "down": pygame.image.load("tractor/down.png"), + "left": pygame.image.load("tractor/left.png"), + "right":pygame.image.load("tractor/right.png") } self.direction = "down" + def draw(self, win): tractor_image = self.images[self.direction] - win.blit(tractor_image, (self.col*size, self.row*size)) \ No newline at end of file + win.blit(tractor_image, (self.col*size, self.row*size)) diff --git a/down.png b/tractor/down.png similarity index 100% rename from down.png rename to tractor/down.png diff --git a/left.png b/tractor/left.png similarity index 100% rename from left.png rename to tractor/left.png diff --git a/right.png b/tractor/right.png similarity index 100% rename from right.png rename to tractor/right.png diff --git a/up.png b/tractor/up.png similarity index 100% rename from up.png rename to tractor/up.png