from gameContext import GameContext from city import City from PIL import Image import pygame from typing import Tuple, List from street import Street, StreetType from garbageTruck import GarbageTruck from garbageCan import GarbageCan def startup(game_context: GameContext): render_background(game_context) game_context.city = create_city() game_context.city.render_city(game_context) car = create_dust_car(game_context) car.render(game_context) game_context.dust_car = car def create_dust_car(game_context: GameContext) -> GarbageTruck: return GarbageTruck((3, 3)) def render_background(game_context: GameContext): bg_img = Image.open("imgs/background.jpg") pygame_bg_image = pygame.image.frombuffer(bg_img.tobytes(), bg_img.size, 'RGB') game_context.canvas.blit(pygame_bg_image, (0, 0)) def create_city() -> City: city: City = City() streets = create_streets() trashcans = create_trashcans() for s in streets: city.add_street(s) for t in trashcans: city.add_node(t) return city def create_streets() -> List[Street]: streets = [] streets.append(Street(3, 30, 3, StreetType.HORIZONTAL)) streets.append(Street(4, 15, 10, StreetType.VERTICAL)) streets.append(Street(4, 10, 25, StreetType.VERTICAL)) streets.append(Street(11, 24, 10, StreetType.HORIZONTAL)) streets.append(Street(4, 9, 18, StreetType.VERTICAL)) streets.append(Street(1, 30, 16, StreetType.HORIZONTAL)) streets.append(Street(17, 30, 2, StreetType.VERTICAL)) streets.append(Street(3, 25, 23, StreetType.HORIZONTAL)) streets.append(Street(17, 30, 13, StreetType.VERTICAL)) streets.append(Street(17, 23, 25, StreetType.VERTICAL)) return streets def create_trashcans() -> List[GarbageCan]: trashcans = [] trashcans.append(GarbageCan((9, 4))) trashcans.append(GarbageCan((9, 15))) trashcans.append(GarbageCan((12, 22))) trashcans.append(GarbageCan((3, 24))) trashcans.append(GarbageCan((17, 9))) trashcans.append(GarbageCan((24, 17))) trashcans.append(GarbageCan((26, 4))) return trashcans