From 03e2aea2859672ece245cb58c068cf5976f0de87 Mon Sep 17 00:00:00 2001 From: Pawel Felcyn Date: Sat, 11 Mar 2023 15:17:35 +0100 Subject: [PATCH 1/4] add stick man img --- imgs/sickMan.jpg | Bin 0 -> 29310 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 imgs/sickMan.jpg diff --git a/imgs/sickMan.jpg b/imgs/sickMan.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8871b54e880aacce984be5ce4990a067c8a98bdb GIT binary patch literal 29310 zcmeHL-EovL3_QA^1S+5a9vEI|h5{&nrh_;qK3SG!SzdD=L7BN5{j8*2$&<HBv3_L{#tuU{|k?&o%UcamOG)4y@kyi?xkSsTc=_pHsY z&CNTl?dw_SywmIE>z|80-zMzY^~a4v{_zhaASKZ)J*W=?WeY=C3jjf1z>teX4A0+ zAj=SBs57jM5=4yFkg5Mgf3UL(Nt>uHv17?o9mHDN@ih@B&G$0bWgk zn@O%CIs!L>#o|y+M8QK=V91SeA64P|NyhzTf#?C75ws?vV^bDcayJ$9hu2sSlEwnjC1r{LlqW%>3VyI8XF?X~Nw`)I?K zcj32J)l|b0!g5#DRCREJ@wUtrO|`w%P|MZAVrY;iCh*m5Kx4c7df-&x+sy$5}S%QA=j;Mv>+nPqQhQ$> zYrF7mvW=Q%D^0&K?HLAuG|~Jks3~i}X>!U6Z{J@C)#Q=orxr${H5DSpI}9`R7oO2X z^GCA$)WXPPnntq1O#Ou?HL0@v)WXQantEAbrvAdzzij!bVK}age4d(RN{XdRV%R0PB-{QN*1D9f<2= zucNj#K@_M>bi$5kYLZJ*_X`Zlc|L#dPC)ue++Gt%eeo#dV- zJ4U4CNQb|1C+dzMZS`;nP#~#EF2&k0A}8nh{JfL0C&W4Q9?CFZXzxxmL+68t`UEJb zZB2({DOBB|)HGZb;;lV;49EBqh&$1w2Oosxqdr7|Gy!D|sk#$5O%Pdb-WCw5X;YTP zb0vq?6qdC@dV)QmDIjY?axr~IQz7B`6}U*(1wW~&66nR%)CuFSXgWdM=$V>~Cq3@UjiV>uT}<()2c41-GE$ym;XQt$IlzX1=L(v$!I literal 0 HcmV?d00001 From 9f7bc7f3e11b23ba21cb29c6d1f4dd83cb42dfe8 Mon Sep 17 00:00:00 2001 From: Pawel Felcyn Date: Sun, 12 Mar 2023 16:08:54 +0100 Subject: [PATCH 2/4] display stick man in window --- gameContext.py | 5 +++++ gameEventHandler.py | 9 +++++++-- main.py | 11 ++++++++++- 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 gameContext.py diff --git a/gameContext.py b/gameContext.py new file mode 100644 index 0000000..c20844b --- /dev/null +++ b/gameContext.py @@ -0,0 +1,5 @@ +class GameContext: + dust_car_position_x = 0 + dust_car_position_y = 0 + stick_man_pygame = None + canvas = None \ No newline at end of file diff --git a/gameEventHandler.py b/gameEventHandler.py index 106f1e8..a8aa404 100644 --- a/gameEventHandler.py +++ b/gameEventHandler.py @@ -1,4 +1,9 @@ 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): + update_canvas(game_context) + return + +def update_canvas(game_context: GameContext): + game_context.canvas.blit(game_context.stick_man_pygame, (game_context.dust_car_position_x, game_context.dust_car_position_y)) \ No newline at end of file diff --git a/main.py b/main.py index b6f72a3..62cfd84 100644 --- a/main.py +++ b/main.py @@ -1,11 +1,20 @@ import pygame from gameEventHandler import handle_game_event +from gameContext import GameContext +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/sickMan.jpg') + +gameContext = GameContext() +gameContext.stick_man_pygame = pygame.image.frombuffer(stick_man_pil.tobytes(), stick_man_pil.size, 'RGB') +gameContext.canvas = canvas + + exit = False while not exit: @@ -13,6 +22,6 @@ while not exit: if event.type == pygame.QUIT: exit = True else: - handle_game_event(event) + handle_game_event(event, gameContext) pygame.display.update() \ No newline at end of file From 853b025a847a478454b013af1138683ee10a36b0 Mon Sep 17 00:00:00 2001 From: Pawel Felcyn Date: Sun, 12 Mar 2023 16:47:18 +0100 Subject: [PATCH 3/4] add stick man movement --- gameContext.py | 9 ++++++++- gameEventHandler.py | 21 ++++++++++++++++++--- main.py | 11 +++++++---- 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/gameContext.py b/gameContext.py index c20844b..927dfd7 100644 --- a/gameContext.py +++ b/gameContext.py @@ -1,5 +1,12 @@ +import pygame + class GameContext: + dust_car_speed = 20 dust_car_position_x = 0 dust_car_position_y = 0 stick_man_pygame = None - canvas = None \ No newline at end of file + 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 a8aa404..6014365 100644 --- a/gameEventHandler.py +++ b/gameEventHandler.py @@ -2,8 +2,23 @@ import pygame from gameContext import GameContext def handle_game_event(event, game_context: GameContext): - update_canvas(game_context) + dust_car_movement(event, game_context) return -def update_canvas(game_context: GameContext): - game_context.canvas.blit(game_context.stick_man_pygame, (game_context.dust_car_position_x, game_context.dust_car_position_y)) \ No newline at end of file +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/main.py b/main.py index 62cfd84..e0ff939 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,7 @@ import pygame from gameEventHandler import handle_game_event from gameContext import GameContext +from gameContext import startup from PIL import Image pygame.init() @@ -10,9 +11,11 @@ canvas = pygame.display.set_mode((800, 800)) pygame.display.set_caption("Inteligentna śmieciarka") stick_man_pil = Image.open('imgs/sickMan.jpg') -gameContext = GameContext() -gameContext.stick_man_pygame = pygame.image.frombuffer(stick_man_pil.tobytes(), stick_man_pil.size, 'RGB') -gameContext.canvas = canvas +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 @@ -22,6 +25,6 @@ while not exit: if event.type == pygame.QUIT: exit = True else: - handle_game_event(event, gameContext) + handle_game_event(event, game_context) pygame.display.update() \ No newline at end of file From b8b2e5e3195c649b269639cca9871c5499c481dd Mon Sep 17 00:00:00 2001 From: Pawel Felcyn Date: Sun, 12 Mar 2023 16:49:32 +0100 Subject: [PATCH 4/4] rename stick man file --- imgs/{sickMan.jpg => stickMan.jpg} | Bin main.py | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename imgs/{sickMan.jpg => stickMan.jpg} (100%) diff --git a/imgs/sickMan.jpg b/imgs/stickMan.jpg similarity index 100% rename from imgs/sickMan.jpg rename to imgs/stickMan.jpg diff --git a/main.py b/main.py index e0ff939..c1882ae 100644 --- a/main.py +++ b/main.py @@ -9,7 +9,7 @@ pygame.init() canvas = pygame.display.set_mode((800, 800)) pygame.display.set_caption("Inteligentna śmieciarka") -stick_man_pil = Image.open('imgs/sickMan.jpg') +stick_man_pil = Image.open('imgs/stickMan.jpg') game_context = GameContext() game_context.stick_man_pil = stick_man_pil