sztuczna_inteligencja_2023_.../city.py

58 lines
1.5 KiB
Python
Raw Normal View History

2023-04-03 15:49:28 +02:00
from typing import List
2023-03-26 21:29:40 +02:00
from garbageCan import GarbageCan
2023-05-13 19:30:00 +02:00
from speedBump import SpeedBump
2023-04-03 15:49:28 +02:00
from street import Street
from gameContext import GameContext
2023-03-26 21:29:40 +02:00
class Node:
garbageCan: GarbageCan
id: int
def __init__(self, id: int, can: GarbageCan) -> None:
2023-04-03 15:49:28 +02:00
self.id
2023-03-26 21:29:40 +02:00
self.can = can
2023-05-13 19:30:00 +02:00
class Bump:
speedBump: SpeedBump
id: int
def __init__(self, id: int, bump: SpeedBump) -> None:
self.id
self.bump = bump
2023-03-26 21:29:40 +02:00
class City:
2023-04-23 15:35:37 +02:00
nodes: List[GarbageCan]
2023-05-13 19:30:00 +02:00
bumps: List[SpeedBump]
2023-04-03 15:49:28 +02:00
streets: List[Street]
2023-03-26 21:29:40 +02:00
def __init__(self) -> None:
self.nodes = []
self.streets = []
2023-05-13 19:30:00 +02:00
self.bumps = []
2023-03-26 21:29:40 +02:00
2023-04-23 15:35:37 +02:00
def add_node(self, node: GarbageCan) -> None:
2023-03-26 21:29:40 +02:00
self.nodes.append(node)
2023-04-03 15:49:28 +02:00
def add_street(self, street: Street) -> None:
self.streets.append(street)
2023-05-13 19:30:00 +02:00
def add_bump(self, bump: SpeedBump) -> None:
self.streets.append(bump)
2023-03-26 21:29:40 +02:00
2023-04-03 15:49:28 +02:00
def render_city(self, game_context: GameContext) -> None:
self._render_streets(game_context)
2023-04-23 15:34:29 +02:00
self._render_nodes(game_context)
2023-05-13 19:30:00 +02:00
self._render_bumps(game_context)
2023-04-03 15:49:28 +02:00
def _render_streets(self, game_context: GameContext) -> None:
for street in self.streets:
2023-04-23 15:34:29 +02:00
street.render(game_context)
def _render_nodes(self, game_context: GameContext) -> None:
for node in self.nodes:
2023-05-13 19:30:00 +02:00
node.render(game_context)
def _render_bumps(self, game_context: GameContext) -> None:
for bump in self.bumps:
bump.render(game_context)