From 36b804a7f08c1f1b38a0d2cd2a68d0cd849a01eb Mon Sep 17 00:00:00 2001 From: czorekk Date: Tue, 10 May 2022 01:03:53 +0200 Subject: [PATCH 1/3] [trashbin-rendering] added trash bin sprites --- resources/textures/misc/trash_bin.png | Bin 0 -> 17749 bytes resources/textures/misc/trash_bin_small.png | Bin 0 -> 8545 bytes resources/textures/misc/trash_bin_small_bio.png | Bin 0 -> 10313 bytes .../textures/misc/trash_bin_small_glass.png | Bin 0 -> 10982 bytes .../textures/misc/trash_bin_small_paper.png | Bin 0 -> 10825 bytes .../textures/misc/trash_bin_small_plastic.png | Bin 0 -> 10022 bytes 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 resources/textures/misc/trash_bin.png create mode 100644 resources/textures/misc/trash_bin_small.png create mode 100644 resources/textures/misc/trash_bin_small_bio.png create mode 100644 resources/textures/misc/trash_bin_small_glass.png create mode 100644 resources/textures/misc/trash_bin_small_paper.png create mode 100644 resources/textures/misc/trash_bin_small_plastic.png diff --git a/resources/textures/misc/trash_bin.png b/resources/textures/misc/trash_bin.png new file mode 100644 index 0000000000000000000000000000000000000000..686ed0c6f5fb83665923f0dd7089376e2ea058e4 GIT binary patch literal 17749 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 BFvs0N|32wuTArmk0OZ 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 literal 0 HcmV?d00001 diff --git a/resources/textures/misc/trash_bin_small_glass.png b/resources/textures/misc/trash_bin_small_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..f5923bf9014937b3224f84d59503e94e9831be72 GIT binary patch literal 10982 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 Date: Tue, 10 May 2022 01:05:34 +0200 Subject: [PATCH 2/3] [trashbin-rendering] added trash bin rendering, added patterns, sprite group and part in map generator --- game_objects/trashbin.py | 46 +++++++++++++++++----------------------- main.py | 3 ++- map/map_pattern.py | 13 ++++++++++-- map/map_utils.py | 37 +++++++++++++++++++++++++++----- map/tile.py | 2 +- 5 files changed, 66 insertions(+), 35 deletions(-) diff --git a/game_objects/trashbin.py b/game_objects/trashbin.py index 1538c79..9b8ea8b 100644 --- a/game_objects/trashbin.py +++ b/game_objects/trashbin.py @@ -1,29 +1,23 @@ import pygame as pg +from enum import Enum -class trashbin(pg.sprite.Sprite): - - def __init__(self,x,y,img, type): - super().__init__() +from map.tile import Tile + +class Waste_Type(Enum): + BIO = 0 + GLASS = 1 + PLASTIC = 2 + PAPER = 3 + MIX = 4 + + def __int__(self): + return self.value +class Trashbin(Tile): + def __init__(self, img, x, y, width, height, waste_type: Waste_Type): + super().__init__(img, x, y, width, height) - # trashbin type - self.type = type - - # dimensions - if type == "small": - self.width = 4 - self.height = 4 - elif type == "medium": - self.width = 8 - self.height = 8 - elif type == "large": - self.width = 16 - self.height = 16 - - # spawn coords - self.x = x - self.y = y - - # load trashbin image - self.image = pg.image.load(img) - self.image = pg.transform.scale(self.image, (self.x,self.y)) - self.rect = self.image.get_rect() \ No newline at end of file + self.waste_type = waste_type + self.days_after_pickup = 0 + self.max_capacity = 100 + self.used_capacity = 0 + self.access = True diff --git a/main.py b/main.py index 598f5b4..8e12ca7 100644 --- a/main.py +++ b/main.py @@ -32,7 +32,7 @@ class Game(): # initialize all variables and do all the setup for a new game # sprite groups and map array for calculations - (self.roadTiles, self.wallTiles), self.mapArray = map.get_tiles() + (self.roadTiles, self.wallTiles, self.trashbinTiles), self.mapArray = map.get_tiles() self.agentSprites = pg.sprite.Group() # player obj @@ -102,6 +102,7 @@ class Game(): #rerender map map.render_tiles(self.roadTiles, self.screen, self.camera) map.render_tiles(self.wallTiles, self.screen, self.camera, self.debug_mode) + map.render_tiles(self.trashbinTiles, self.screen, self.camera) #rerender additional sprites for sprite in self.agentSprites: diff --git a/map/map_pattern.py b/map/map_pattern.py index c129396..1e6526f 100644 --- a/map/map_pattern.py +++ b/map/map_pattern.py @@ -8,10 +8,19 @@ ROAD_DIR = TEXTURES_DIR+"\\road\\" BUILDING_DIR = TEXTURES_DIR+"\\buliding\\" def load_img(path): - return pg.image.load(path) + return pg.image.load(path).convert_alpha() def get_pattern(): return { 0: load_img("resources/textures/road/GTA2_TILE_257.bmp"), - 1: load_img("resources/textures/buliding/GTA2_TILE_187.bmp"), + 1: load_img("resources/textures/buliding/GTA2_TILE_187.bmp") + } + +def get_trashbin_pattern(): + return { + 0: load_img("resources/textures/misc/trash_bin_small_bio.png"), + 1: load_img("resources/textures/misc/trash_bin_small_glass.png"), + 2: load_img("resources/textures/misc/trash_bin_small_plastic.png"), + 3: load_img("resources/textures/misc/trash_bin_small_paper.png"), + 4: load_img("resources/textures/misc/trash_bin_small.png") } \ No newline at end of file diff --git a/map/map_utils.py b/map/map_utils.py index f889e2c..1a32047 100644 --- a/map/map_utils.py +++ b/map/map_utils.py @@ -2,6 +2,8 @@ import random import pygame as pg from settings import * from map.tile import Tile +from map import map_pattern +from game_objects.trashbin import Trashbin # tworzenie pustego arraya o podanych wymiarach def get_blank_map_array(): @@ -11,16 +13,28 @@ def get_blank_map_array(): # generowanie obiektow na mapie def generate_map(): map = get_blank_map_array() + + # generowanie scian for i in range(0, 20): x = random.randint(0, MAP_WIDTH-1) y = random.randint(0, MAP_HEIGHT-1) map[y][x] = 1 + + # generowanie smietnikow + for i in range(0, 5): + x = random.randint(0, MAP_WIDTH-1) + y = random.randint(0, MAP_HEIGHT-1) + map[y][x] = 2 + return map # tworzenie grup sprite'ow def get_sprites(map, pattern): roadTiles = pg.sprite.Group() wallTiles = pg.sprite.Group() + trashbinTiles = pg.sprite.Group() + + trashbin_pattern = map_pattern.get_trashbin_pattern() #objechanie tablicy i generowanie tile'a na danych kordach for i in range(len(map)): @@ -28,13 +42,26 @@ def get_sprites(map, pattern): for j in range(len(map[i])): offsetX = j * TILE_SIZE_PX tileId = map[i][j] - tile = Tile(pattern[tileId], offsetX, offsetY, TILE_SIZE_PX, TILE_SIZE_PX) - if tileId == 0: + if tileId == 0 or tileId == 1: + tile = Tile(pattern[tileId], offsetX, offsetY, TILE_SIZE_PX, TILE_SIZE_PX) + if tileId == 0: + roadTiles.add(tile) + else: + wallTiles.add(tile) + elif tileId == 2: + trashbinId = random.randint(0, 4) + tile = Tile(pattern[0], offsetX, offsetY, TILE_SIZE_PX, TILE_SIZE_PX) + trashbin = Trashbin(trashbin_pattern[trashbinId], offsetX, offsetY, 32, 30, trashbinId) roadTiles.add(tile) - else: - wallTiles.add(tile) + trashbinTiles.add(trashbin) - return roadTiles, wallTiles + return roadTiles, wallTiles, trashbinTiles + +def isRoadTile(tileId: int) -> bool: + if tileId == 0 or tileId == 2: + return True + else: + return False class Camera: def __init__(self,width,height): diff --git a/map/tile.py b/map/tile.py index a2467f2..1e32a0b 100644 --- a/map/tile.py +++ b/map/tile.py @@ -10,7 +10,7 @@ class Tile(pg.sprite.Sprite): self.width = width self.height = height - self.image = pg.Surface([width, height]) + self.image = pg.Surface([width, height], pg.SRCALPHA, 32) self.image.blit(img, (0,0)) self.rect = pg.Rect(x, y, width, height) -- 2.20.1 From 45a3ff671189e28ab7fc3e679393863b70a12885 Mon Sep 17 00:00:00 2001 From: czorekk Date: Tue, 10 May 2022 01:06:39 +0200 Subject: [PATCH 3/3] [trashbin-rendering] deleted unused file 'camera', little change in a* about tiles processing --- map/camera.py | 24 ------------------------ path_search_algorthms/a_star_utils.py | 5 ++--- 2 files changed, 2 insertions(+), 27 deletions(-) delete mode 100644 map/camera.py diff --git a/map/camera.py b/map/camera.py deleted file mode 100644 index ee229f7..0000000 --- a/map/camera.py +++ /dev/null @@ -1,24 +0,0 @@ -from settings import * - -class Camera: - def __init__(self,width,height): - self.camera = pg.Rect(0,0, width, height) - self.width = width - self.height = height - - def apply(self,entity): - return entity.rect.move(self.camera.topleft) - - def apply_rect(self, rect): - return rect.move(self.camera.topleft) - - def update(self,target): - x = -target.rect.x + int(WIDTH/2) - y = -target.rect.y + int(HEIGHT / 2) - - # limit scrolling to map size - x = min(0, x) # left - y = min(0, y) # top - x = max(-(self.width - WIDTH), x) # right - y = max(-(self.height - HEIGHT), y) # bottom - self.camera = pg.Rect(x, y, self.width, self.height) \ No newline at end of file diff --git a/path_search_algorthms/a_star_utils.py b/path_search_algorthms/a_star_utils.py index 20caee1..ee24f61 100644 --- a/path_search_algorthms/a_star_utils.py +++ b/path_search_algorthms/a_star_utils.py @@ -1,9 +1,8 @@ from enum import Enum +from map import map_utils from settings import * -ROAD_TILE = 0 - class Rotation(Enum): UP = 0 RIGHT = 1 @@ -36,7 +35,7 @@ def get_neighbours(node, searched_list, array): y = node.y + offset_y # prevent out of map coords if (x >= 0 and x < MAP_WIDTH and y >= 0 and y < MAP_HEIGHT): - if(array[y][x] == ROAD_TILE and (x, y) not in searched_list): + if(map_utils.isRoadTile(array[y][x]) and (x, y) not in searched_list): neighbour = Node(x, y, Rotation.NONE) neighbour.rotation = get_needed_rotation(node, neighbour) neighbours.append(neighbour) -- 2.20.1