street grid cell type

This commit is contained in:
Pawel Felcyn 2023-04-22 12:04:08 +02:00
parent ac19577346
commit aba8285469
3 changed files with 20 additions and 1 deletions

View File

@ -1,6 +1,7 @@
from typing import Tuple, List from typing import Tuple, List, Dict
import pygame import pygame
from PIL import Image from PIL import Image
from gridCellType import GridCellType
class GameContext: class GameContext:
dust_car_speed = 20 dust_car_speed = 20
@ -11,6 +12,15 @@ class GameContext:
canvas = None canvas = None
_cell_size: int = 30 _cell_size: int = 30
city = None city = None
grid: Dict[Tuple[int, int], GridCellType] = {}
def __init__(self) -> None:
self._init_grid()
def _init_grid(self) -> None:
for i in range(1, 28):
for j in range(1, 28):
self.grid[(i, j)] = GridCellType.NOTHING
def render_in_cell(self, cell: Tuple[int, int], img_path: str): def render_in_cell(self, cell: Tuple[int, int], img_path: str):
img = Image.open(img_path) img = Image.open(img_path)

7
gridCellType.py Normal file
View File

@ -0,0 +1,7 @@
from enum import Enum
class GridCellType(Enum):
NOTHING = 0
STREET_VERTICAL = 1
STREET_HORIZONTAL = 2
GARBAGE_CAN = 3

View File

@ -1,6 +1,7 @@
from enum import Enum from enum import Enum
from typing import Tuple from typing import Tuple
from gameContext import GameContext from gameContext import GameContext
from gridCellType import GridCellType
class StreetType (Enum): class StreetType (Enum):
VERTICAL = 0 VERTICAL = 0
@ -23,3 +24,4 @@ class Street:
img_str: str = 'imgs/street_vertical.png' if self.street_type == StreetType.VERTICAL else 'imgs/street_horizontal.png' img_str: str = 'imgs/street_vertical.png' if self.street_type == StreetType.VERTICAL else 'imgs/street_horizontal.png'
cell: Tuple[int, int] = (self.row_or_column, i) if self.street_type == StreetType.VERTICAL else (i, self.row_or_column) cell: Tuple[int, int] = (self.row_or_column, i) if self.street_type == StreetType.VERTICAL else (i, self.row_or_column)
game_context.render_in_cell(cell, img_str) game_context.render_in_cell(cell, img_str)
game_context.grid[cell] = GridCellType.STREET_HORIZONTAL if self.street_type == StreetType.HORIZONTAL else GridCellType.STREET_VERTICAL