states #18
6
agentActionType.py
Normal file
6
agentActionType.py
Normal file
@ -0,0 +1,6 @@
|
||||
from enum import Enum
|
||||
|
||||
class AgentActionType (Enum):
|
||||
MOVE_FORWARD = 0
|
||||
TURN_LEFT = 1
|
||||
TURN_RIGHT = 2
|
@ -1,6 +1,7 @@
|
||||
from typing import Tuple, List
|
||||
from typing import Tuple, List, Dict
|
||||
import pygame
|
||||
from PIL import Image
|
||||
from gridCellType import GridCellType
|
||||
|
||||
class GameContext:
|
||||
dust_car_speed = 20
|
||||
@ -11,6 +12,15 @@ class GameContext:
|
||||
canvas = None
|
||||
_cell_size: int = 30
|
||||
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):
|
||||
img = Image.open(img_path)
|
||||
|
@ -1,6 +1,7 @@
|
||||
from garbage import Garbage
|
||||
from typing import List, Tuple
|
||||
from gameContext import GameContext
|
||||
from gridCellType import GridCellType
|
||||
|
||||
class GarbageCan:
|
||||
position: Tuple[int, int]
|
||||
@ -17,4 +18,5 @@ class GarbageCan:
|
||||
self.garbage.remove(garbage)
|
||||
|
||||
def render(self, game_context: GameContext) -> None:
|
||||
game_context.render_in_cell(self.position, "imgs/container.png")
|
||||
game_context.render_in_cell(self.position, "imgs/container.png")
|
||||
game_context.grid[self.position] = GridCellType.GARBAGE_CAN
|
7
gridCellType.py
Normal file
7
gridCellType.py
Normal file
@ -0,0 +1,7 @@
|
||||
from enum import Enum
|
||||
|
||||
class GridCellType(Enum):
|
||||
NOTHING = 0
|
||||
STREET_VERTICAL = 1
|
||||
STREET_HORIZONTAL = 2
|
||||
GARBAGE_CAN = 3
|
BIN
imgs/dust_car_down.png
Normal file
BIN
imgs/dust_car_down.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 751 B After Width: | Height: | Size: 751 B |
BIN
imgs/dust_car_right.png
Normal file
BIN
imgs/dust_car_right.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 751 B |
BIN
imgs/dust_car_up.png
Normal file
BIN
imgs/dust_car_up.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
2
main.py
2
main.py
@ -9,7 +9,7 @@ pygame.init()
|
||||
canvas = pygame.display.set_mode((800, 800))
|
||||
|
||||
pygame.display.set_caption("Inteligentna śmieciarka")
|
||||
dust_car_pil = Image.open('imgs/dust_car.png')
|
||||
dust_car_pil = Image.open('imgs/dust_car_right.png')
|
||||
|
||||
game_context = GameContext()
|
||||
game_context.dust_car_pil = dust_car_pil
|
||||
|
@ -1,6 +1,7 @@
|
||||
from enum import Enum
|
||||
from typing import Tuple
|
||||
from gameContext import GameContext
|
||||
from gridCellType import GridCellType
|
||||
|
||||
class StreetType (Enum):
|
||||
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'
|
||||
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.grid[cell] = GridCellType.STREET_HORIZONTAL if self.street_type == StreetType.HORIZONTAL else GridCellType.STREET_VERTICAL
|
||||
|
Loading…
Reference in New Issue
Block a user