diff --git a/.DS_Store b/.DS_Store index 8209df70..7db90082 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/core/chicken/__pycache__/chicken.cpython-310.pyc b/core/chicken/__pycache__/chicken.cpython-310.pyc index c65e9bb5..447acbec 100644 Binary files a/core/chicken/__pycache__/chicken.cpython-310.pyc and b/core/chicken/__pycache__/chicken.cpython-310.pyc differ diff --git a/core/chicken/chicken.py b/core/chicken/chicken.py index 95e5e9d4..678ff476 100644 --- a/core/chicken/chicken.py +++ b/core/chicken/chicken.py @@ -11,10 +11,13 @@ class Chicken: self.left = pygame.image.load(r'resources/chicken/left.png').convert_alpha() self.right = pygame.image.load(r'resources/chicken/right.png').convert_alpha() - self.up = pygame.transform.scale(self.up, (cell_size+2, cell_size)) - self.down = pygame.transform.scale(self.down, (cell_size, cell_size+2)) - self.left = pygame.transform.scale(self.left, (cell_size+2, cell_size+2)) - self.right = pygame.transform.scale(self.right, (cell_size+4, cell_size+1)) + self.cell_size = cell_size + self.cell_number = cell_number + + self.up = pygame.transform.scale(self.up, (self.cell_size+2, self.cell_size)) + self.down = pygame.transform.scale(self.down, (self.cell_size, self.cell_size+2)) + self.left = pygame.transform.scale(self.left, (self.cell_size+2, self.cell_size+2)) + self.right = pygame.transform.scale(self.right, (self.cell_size+4, self.cell_size+1)) self.x = 1 # to-check: start pos may be written explicit self.y = 1 @@ -22,8 +25,6 @@ class Chicken: self.direction = 'up' self.image = self.down self.step = 0 - self.cell_size = cell_size - self.cell_number = cell_number def move(self, direction): print('MOVE') diff --git a/core/plants/__pycache__/plant.cpython-310.pyc b/core/plants/__pycache__/plant.cpython-310.pyc index 2e4e6322..162c9e54 100644 Binary files a/core/plants/__pycache__/plant.cpython-310.pyc and b/core/plants/__pycache__/plant.cpython-310.pyc differ diff --git a/core/plants/__pycache__/plants_settings.cpython-310.pyc b/core/plants/__pycache__/plants_settings.cpython-310.pyc index 86027810..6ab012eb 100644 Binary files a/core/plants/__pycache__/plants_settings.cpython-310.pyc and b/core/plants/__pycache__/plants_settings.cpython-310.pyc differ diff --git a/core/plants/plants_settings.py b/core/plants/plants_settings.py index 49f54397..9b5afb55 100644 --- a/core/plants/plants_settings.py +++ b/core/plants/plants_settings.py @@ -9,39 +9,45 @@ class PlantsSettings: self.cell_number = cell_number self.cell_size = cell_size self.surface = surface - self.all_blocks = [] - + self.all_plants = [] + self.all_fruits = [] + #plants self.flower_image = pygame.image.load(r'resources/plants/flower.png').convert_alpha() self.flower_image = pygame.transform.scale(self.flower_image, (self.cell_size, self.cell_size)) - - self.eggplant_image = pygame.image.load(r'resources/vegies/1.png').convert_alpha() - self.eggplant_image = pygame.transform.scale(self.eggplant_image, (self.cell_size, self.cell_size)) - - self.stone_image = pygame.image.load(r'resources/stones/stone.png').convert_alpha() - self.stone_image = pygame.transform.scale(self.stone_image, (self.cell_size, self.cell_size)) - self.bush_image = pygame.image.load(r'resources/plants/bush.png').convert_alpha() self.bush_image = pygame.transform.scale(self.bush_image, (self.cell_size, self.cell_size)) - self.ivy_image = pygame.image.load(r'resources/plants/ivy.png').convert_alpha() self.ivy_image = pygame.transform.scale(self.ivy_image, (self.cell_size, self.cell_size)) - self.wheat_dead_image = pygame.image.load(r'resources/plants/wheat_dead.png').convert_alpha() self.wheat_dead_image = pygame.transform.scale(self.wheat_dead_image, (self.cell_size, self.cell_size)) self.wheat_image = pygame.image.load(r'resources/plants/wheat.png').convert_alpha() self.wheat_image = pygame.transform.scale(self.wheat_image, (self.cell_size, self.cell_size)) + #vegies + self.eggplant_image = pygame.image.load(r'resources/vegies/1.png').convert_alpha() + self.eggplant_image = pygame.transform.scale(self.eggplant_image, (self.cell_size, self.cell_size)) + #fruits + self.strawberrie_image = pygame.image.load(r'resources/fruits/6.png').convert_alpha() + self.strawberrie_image = pygame.transform.scale(self.strawberrie_image, (self.cell_size, self.cell_size)) + self.grapes_image = pygame.image.load(r'resources/fruits/8.png').convert_alpha() + self.grapes_image = pygame.transform.scale(self.grapes_image, (self.cell_size-12, self.cell_size)) + self.apple_image = pygame.image.load(r'resources/fruits/9.png').convert_alpha() + self.apple_image = pygame.transform.scale(self.apple_image, (self.cell_size, self.cell_size)) + self.banana_image = pygame.image.load(r'resources/fruits/10.png').convert_alpha() + self.banana_image = pygame.transform.scale(self.banana_image, (self.cell_size, self.cell_size)) + + self.stone_image = pygame.image.load(r'resources/stones/stone.png').convert_alpha() + self.stone_image = pygame.transform.scale(self.stone_image, (self.cell_size, self.cell_size)) self.aim_image = pygame.image.load(r'resources/aim.png').convert_alpha() self.aim_image = pygame.transform.scale(self.aim_image, (self.cell_size, self.cell_size)) def locate_plant(self, field_list, name, num_of_blocks): # finds open space (coordinates) - for i in range(num_of_blocks): while True: rand_x = random.randint(0, self.cell_number - 1) # to check rand_y = random.randint(0, self.cell_number - 1) - if [rand_x, rand_y] not in self.all_blocks: - self.all_blocks.append([rand_x, rand_y]) + if [rand_x, rand_y] not in self.all_plants: + self.all_plants.append([rand_x, rand_y]) if name == 'wheat': self.block = plant.Plant( i, name, 0, self.wheat_dead_image, self.wheat_image, rand_x, rand_y, False @@ -73,6 +79,40 @@ class PlantsSettings: field_list.append(self.block) break + def locate_fruit(self, field_list, name, num_of_blocks): # finds open space (coordinates) + for i in range(num_of_blocks): + while True: + rand_x = random.randint(0, self.cell_number - 1) # to check + rand_y = random.randint(0, self.cell_number - 1) + if [rand_x, rand_y] not in self.all_fruits: + self.all_fruits.append([rand_x, rand_y]) + if name == 'wheat': + self.block = plant.Plant( + i, name, 0, self.wheat_dead_image, self.wheat_image, rand_x, rand_y, False + ) + if name == 'strawberrie': + self.block = plant.Plant( + i, name, 1, self.strawberrie_image, self.strawberrie_image, rand_x, rand_y, False + ) + if name == 'grapes': + self.block = plant.Plant( + i, name, 1, self.grapes_image, self.grapes_image, rand_x, rand_y, False + ) + if name == 'apple': + self.block = plant.Plant( + i, name, 1, self.apple_image, self.apple_image, rand_x, rand_y, False + ) + if name == 'banana': + self.block = plant.Plant( + i, name, 1, self.banana_image, self.banana_image, rand_x, rand_y, False + ) + if name == 'stone': + self.block = plant.Plant( + i, name, 1, self.stone_image, self.stone_image, rand_x, rand_y, False + ) + field_list.append(self.block) + break + def locate_aim(self, field_list, x, y): self.block = plant.Plant( 999, 'aim', 1, self.aim_image, self.aim_image, x, y, False diff --git a/main.py b/main.py index 7560a04c..0443fdea 100644 --- a/main.py +++ b/main.py @@ -31,6 +31,7 @@ class Game: self.grass_list = [] # 1-level self.plant_list = [] # 2-level + self.fruits_list = [] # 2-level - second model agent self.stone_list = [] # 3-level self.aim_list = [] # 4-level @@ -40,13 +41,23 @@ class Game: self.Plants = plants_settings.PlantsSettings(self.surface, self.cell_size, self.cell_number) - self.Plants.locate_plant(self.plant_list, 'wheat', self.blocks_number) - self.Plants.locate_plant(self.plant_list, 'flower', self.blocks_number) - self.Plants.locate_plant(self.plant_list, 'eggplant', self.blocks_number) + #plant_list + # self.Plants.locate_plant(self.plant_list, 'wheat', self.blocks_number) + # self.Plants.locate_plant(self.plant_list, 'flower', self.blocks_number) + # self.Plants.locate_plant(self.plant_list, 'bush', self.blocks_number) + + #fruits_list + self.Plants.locate_fruit(self.fruits_list, 'apple', self.blocks_number) + self.Plants.locate_fruit(self.fruits_list, 'banana', self.blocks_number) + self.Plants.locate_fruit(self.fruits_list, 'strawberry', self.blocks_number) + self.Plants.locate_fruit(self.fruits_list, 'grapes', self.blocks_number) + self.Plants.locate_fruit(self.plant_list, 'wheat', self.blocks_number) + + self.Plants.locate_aim(self.aim_list, 0, 0) - self.Plants.locate_plant(self.stone_list, 'stone', self.blocks_number) + self.Plants.locate_fruit(self.stone_list, 'stone', self.blocks_number) #self.image_wheat = self.Plants.wheat_watered() self.chicken = chick.Chicken(self.surface, self.cell_size, self.cell_number) @@ -118,6 +129,7 @@ class Game: self.surface.fill((123, 56, 51)) # background color self.Field.draw_grass(self.grass_list) self.Plants.draw_plant(self.plant_list) + self.Plants.draw_plant(self.fruits_list) self.Plants.draw_plant(self.stone_list) self.Plants.draw_aim(self.aim_list) diff --git a/resources/.DS_Store b/resources/.DS_Store index 2ef25257..40bec9ab 100644 Binary files a/resources/.DS_Store and b/resources/.DS_Store differ diff --git a/resources/fruits/.DS_Store b/resources/fruits/.DS_Store new file mode 100644 index 00000000..ab9e3776 Binary files /dev/null and b/resources/fruits/.DS_Store differ diff --git a/resources/fruits/10.png b/resources/fruits/10.png new file mode 100644 index 00000000..f7ad7e1e Binary files /dev/null and b/resources/fruits/10.png differ diff --git a/resources/fruits/11.png b/resources/fruits/11.png new file mode 100644 index 00000000..43c8a22c Binary files /dev/null and b/resources/fruits/11.png differ diff --git a/resources/fruits/2.png b/resources/fruits/2.png new file mode 100644 index 00000000..9939a7a3 Binary files /dev/null and b/resources/fruits/2.png differ diff --git a/resources/fruits/4.png b/resources/fruits/4.png new file mode 100644 index 00000000..578ae91b Binary files /dev/null and b/resources/fruits/4.png differ diff --git a/resources/fruits/5.png b/resources/fruits/5.png new file mode 100644 index 00000000..328a4333 Binary files /dev/null and b/resources/fruits/5.png differ diff --git a/resources/fruits/6.png b/resources/fruits/6.png new file mode 100644 index 00000000..f92d196b Binary files /dev/null and b/resources/fruits/6.png differ diff --git a/resources/fruits/8.png b/resources/fruits/8.png new file mode 100644 index 00000000..7ba751b1 Binary files /dev/null and b/resources/fruits/8.png differ diff --git a/resources/fruits/9.png b/resources/fruits/9.png new file mode 100644 index 00000000..5a417d21 Binary files /dev/null and b/resources/fruits/9.png differ diff --git a/resources/vegies/.DS_Store b/resources/vegies/.DS_Store new file mode 100644 index 00000000..a6a4fe55 Binary files /dev/null and b/resources/vegies/.DS_Store differ diff --git a/resources/vegies/3.png b/resources/vegies/3.png new file mode 100644 index 00000000..da1b7ad7 Binary files /dev/null and b/resources/vegies/3.png differ diff --git a/resources/vegies/7.png b/resources/vegies/7.png new file mode 100644 index 00000000..a5bb1378 Binary files /dev/null and b/resources/vegies/7.png differ