landfill #22

Merged
s473616 merged 2 commits from landfill into master 2023-05-11 21:38:44 +02:00
7 changed files with 53 additions and 3 deletions

View File

@ -4,4 +4,5 @@ class AgentActionType (Enum):
MOVE_FORWARD = 0
TURN_LEFT = 1
TURN_RIGHT = 2
EMPTY_CAN = 3
UNKNOWN = None

View File

@ -14,6 +14,7 @@ class GameContext:
city = None
grid: Dict[Tuple[int, int], GridCellType] = {}
dust_car = None
landfill = None
def __init__(self) -> None:
self._init_grid()

View File

@ -5,4 +5,5 @@ class GridCellType(Enum):
STREET_VERTICAL = 1
STREET_HORIZONTAL = 2
GARBAGE_CAN = 3
VISITED_GARBAGE_CAN = 4
VISITED_GARBAGE_CAN = 4
LANDFILL = 5

BIN
imgs/landfill.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 857 B

39
landfill.py Normal file
View File

@ -0,0 +1,39 @@
from typing import Tuple
from gameContext import GameContext
from garbage import RecognizedGarbage
from gridCellType import GridCellType
class Landfill:
position: Tuple[int, int] = []
paper: list[RecognizedGarbage]
plastic_and_metal: list[RecognizedGarbage] = []
glass: list[RecognizedGarbage] = []
bio: list[RecognizedGarbage] = []
mixed: list[RecognizedGarbage] = []
def __init__(self, position: Tuple[int, int]) -> None:
self.position = position
def add_paper(self, paper: list[RecognizedGarbage]) -> None:
for p in paper:
self.paper.append(p)
def add_plastic_and_metal(self, plastic_and_metal: list[RecognizedGarbage]) -> None:
for p in plastic_and_metal:
self.plastic_and_metal.append(p)
def add_glass(self, glass: list[RecognizedGarbage]) -> None:
for g in glass:
self.glass.append(g)
def add_paper(self, bio: list[RecognizedGarbage]) -> None:
for b in bio:
self.bio.append(b)
def add_mixed(self, mixed: list[RecognizedGarbage]) -> None:
for m in mixed:
self.mixed.append(m)
def render(self, game_context: GameContext) -> None:
game_context.render_in_cell(self.position, 'imgs/landfill.png')
game_context.grid[self.position] = GridCellType.LANDFILL

View File

@ -39,7 +39,7 @@ def move_dust_car(actions: list[AgentActionType], game_context: GameContext) ->
elif game_context.grid[street_position] == GridCellType.STREET_VERTICAL:
game_context.render_in_cell(street_position, "imgs/street_vertical.png")
pygame.display.update()
time.sleep(0.5)
time.sleep(0.15)

View File

@ -6,6 +6,7 @@ from typing import Tuple, List
from street import Street, StreetType
from garbageTruck import GarbageTruck
from garbageCan import GarbageCan
from landfill import Landfill
def startup(game_context: GameContext):
@ -15,6 +16,7 @@ def startup(game_context: GameContext):
car = create_dust_car(game_context)
car.render(game_context)
game_context.dust_car = car
_create_landfill(game_context)
def create_dust_car(game_context: GameContext) -> GarbageTruck:
return GarbageTruck((3, 3))
@ -57,4 +59,10 @@ def create_trashcans() -> List[GarbageCan]:
trashcans.append(GarbageCan((17, 9)))
trashcans.append(GarbageCan((24, 17)))
trashcans.append(GarbageCan((26, 4)))
return trashcans
return trashcans
def _create_landfill(game_context: GameContext) -> None:
landfil_position = (23,24)
landfill = Landfill(landfil_position)
game_context.landfill = landfill
landfill.render(game_context)