diff --git a/gameContext.py b/gameContext.py new file mode 100644 index 0000000..927dfd7 --- /dev/null +++ b/gameContext.py @@ -0,0 +1,12 @@ +import pygame + +class GameContext: + dust_car_speed = 20 + dust_car_position_x = 0 + dust_car_position_y = 0 + stick_man_pygame = None + stick_man_pil = None + canvas = None + +def startup(game_context: GameContext): + game_context.canvas.blit(game_context.stick_man_pygame, (game_context.dust_car_position_x, game_context.dust_car_position_y)) diff --git a/gameEventHandler.py b/gameEventHandler.py index 106f1e8..6014365 100644 --- a/gameEventHandler.py +++ b/gameEventHandler.py @@ -1,4 +1,24 @@ import pygame +from gameContext import GameContext -def handle_game_event(event): - return \ No newline at end of file +def handle_game_event(event, game_context: GameContext): + dust_car_movement(event, game_context) + return + +def dust_car_movement(event, game_context:GameContext): + if event.type != pygame.KEYDOWN: + return + (width, height) = game_context.stick_man_pil.size + if event.key == pygame.K_LEFT: + pygame.draw.rect(game_context.canvas, (0, 0, 0), (game_context.dust_car_position_x, game_context.dust_car_position_y, width, height)) + game_context.dust_car_position_x -= game_context.dust_car_speed + elif event.key == pygame.K_RIGHT: + pygame.draw.rect(game_context.canvas, (0, 0, 0), (game_context.dust_car_position_x, game_context.dust_car_position_y, width, height)) + game_context.dust_car_position_x += game_context.dust_car_speed + elif event.key == pygame.K_UP: + pygame.draw.rect(game_context.canvas, (0, 0, 0), (game_context.dust_car_position_x, game_context.dust_car_position_y, width, height)) + game_context.dust_car_position_y -= game_context.dust_car_speed + elif event.key == pygame.K_DOWN: + pygame.draw.rect(game_context.canvas, (0, 0, 0), (game_context.dust_car_position_x, game_context.dust_car_position_y, width, height)) + game_context.dust_car_position_y += game_context.dust_car_speed + game_context.canvas.blit(game_context.stick_man_pygame, (game_context.dust_car_position_x, game_context.dust_car_position_y)) diff --git a/imgs/stickMan.jpg b/imgs/stickMan.jpg new file mode 100644 index 0000000..8871b54 Binary files /dev/null and b/imgs/stickMan.jpg differ diff --git a/main.py b/main.py index b6f72a3..c1882ae 100644 --- a/main.py +++ b/main.py @@ -1,11 +1,23 @@ import pygame from gameEventHandler import handle_game_event +from gameContext import GameContext +from gameContext import startup +from PIL import Image pygame.init() canvas = pygame.display.set_mode((800, 800)) pygame.display.set_caption("Inteligentna śmieciarka") +stick_man_pil = Image.open('imgs/stickMan.jpg') + +game_context = GameContext() +game_context.stick_man_pil = stick_man_pil +game_context.stick_man_pygame = pygame.image.frombuffer(stick_man_pil.tobytes(), stick_man_pil.size, 'RGB') +game_context.canvas = canvas +startup(game_context) + + exit = False while not exit: @@ -13,6 +25,6 @@ while not exit: if event.type == pygame.QUIT: exit = True else: - handle_game_event(event) + handle_game_event(event, game_context) pygame.display.update() \ No newline at end of file