2023-04-03 15:29:22 +02:00
|
|
|
from typing import Tuple
|
2023-03-12 16:47:18 +01:00
|
|
|
import pygame
|
2023-04-03 15:08:26 +02:00
|
|
|
from PIL import Image
|
2023-03-12 16:47:18 +01:00
|
|
|
|
2023-03-12 16:08:54 +01:00
|
|
|
class GameContext:
|
2023-03-12 16:47:18 +01:00
|
|
|
dust_car_speed = 20
|
2023-03-12 16:08:54 +01:00
|
|
|
dust_car_position_x = 0
|
|
|
|
dust_car_position_y = 0
|
2023-03-13 08:49:34 +01:00
|
|
|
dust_car_pygame = None
|
|
|
|
dust_car_pil = None
|
2023-03-12 16:47:18 +01:00
|
|
|
canvas = None
|
2023-04-03 15:29:22 +02:00
|
|
|
_cell_size: int = 30
|
|
|
|
|
|
|
|
def render_in_cell(self, cell: Tuple[int, int], img_path: str):
|
|
|
|
img = Image.open(img_path)
|
|
|
|
pygame_img = pygame.image.frombuffer(img.tobytes(), (self._cell_size,self._cell_size), 'RGB')
|
|
|
|
start_x = (cell[0] - 1) * self._cell_size
|
|
|
|
start_y = (cell[1] - 1) * self._cell_size
|
|
|
|
self.canvas.blit(pygame_img, (start_x, start_y))
|
2023-03-12 16:47:18 +01:00
|
|
|
|
|
|
|
def startup(game_context: GameContext):
|
2023-04-03 15:08:26 +02:00
|
|
|
render_background(game_context)
|
2023-03-13 08:49:34 +01:00
|
|
|
game_context.canvas.blit(game_context.dust_car_pygame, (game_context.dust_car_position_x, game_context.dust_car_position_y))
|
2023-04-03 15:08:26 +02:00
|
|
|
|
|
|
|
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))
|