From f7894f204031936a75342a9e5c5a9e604b643ff4 Mon Sep 17 00:00:00 2001 From: dvorakmortonxd Date: Sun, 7 Jun 2026 01:11:18 +0200 Subject: [PATCH] almost the last commit for the intro thing just missing the control cheatsheet ill commit in the next push --- levels.py | 39 ++++++++++++++++++++++++++++++++++----- main.py | 5 +++++ sprites.png | Bin 7655 -> 7632 bytes sprites.pxo | Bin 9080 -> 9114 bytes 4 files changed, 39 insertions(+), 5 deletions(-) diff --git a/levels.py b/levels.py index f2a8ba4..50d3083 100644 --- a/levels.py +++ b/levels.py @@ -42,8 +42,11 @@ def level1(screen, sheet, screen_width, screen_height, lastclickpos, basicfont, return level # this returns the change we made to the level so that it updates in main.py def level2(blip, screen, sheet, screen_width, screen_height, lastclickpos, basicfont, mouse, click, big_text, level, tick, slightfont, pygamemixer): # the function for our first level, ignore the unused variables here, you can use them when you edit it global tickd, dialognum, DIALOGTEXT - if dialognum != 9: + if dialognum not in [9, 11]: tickd += 1 + else: + if tickd < 500: + tickd += 1 if tickd == 59: pygame.mixer.Sound.play(blip) if tickd in range(60,501): @@ -69,23 +72,49 @@ def level2(blip, screen, sheet, screen_width, screen_height, lastclickpos, basic DIALOGTEXT = "" screen.blit(load_sprite(sheet, 0, 37, 57,36, 912, 576), (0,0)) screen.blit(load_sprite(sheet,57,15,8,25, 80, 250), (660, 290)) - screen.blit(load_sprite(sheet, 65, 14, 54, 12, 162, 36), (720, 295)) + screen.blit(load_sprite(sheet, 65, 14, 13, 5, 65, 25), (710, 285)) if dialognum == 8: DIALOGTEXT = "Oh..." screen.blit(load_sprite(sheet, 0, 37, 57,36, 912, 576), (0,0)) screen.blit(load_sprite(sheet,57,15,8,25, 80, 250), (660, 290)) - screen.blit(load_sprite(sheet, 65, 14, 54, 12, 162, 36), (720, 295)) + screen.blit(load_sprite(sheet, 65, 14, 13, 5, 65, 25), (710, 285)) dialog_square = pygame.surface.Surface((800, 68), pygame.SRCALPHA) dialog_square.fill((0, 0, 0)) screen.blit(dialog_square, (56, 500)) if dialognum == 9: - DIALOGTEXT = "Press to hide your parasite" + DIALOGTEXT = "Press to hide yourself" screen.blit(load_sprite(sheet, 0, 37, 57,36, 912, 576), (0,0)) screen.blit(load_sprite(sheet,57,15,8,25, 80, 250), (660, 290)) - screen.blit(load_sprite(sheet, 65, 14, 54, 12, 162, 36), (720, 295)) + screen.blit(load_sprite(sheet, 65, 14, 13, 5, 65, 25), (710, 285)) dialog_square = pygame.surface.Surface((800, 68), pygame.SRCALPHA) dialog_square.fill((0, 0, 0)) screen.blit(dialog_square, (56, 500)) + if dialognum == 10: + DIALOGTEXT = "Yep, that's whats going on.." + screen.blit(load_sprite(sheet, 0, 37, 57,36, 912, 576), (0,0)) + screen.blit(load_sprite(sheet,57,15,8,25, 80, 250), (660, 290)) + dialog_square = pygame.surface.Surface((800, 68), pygame.SRCALPHA) + dialog_square.fill((0, 0, 0)) + screen.blit(dialog_square, (56, 500)) + if dialognum == 11: + DIALOGTEXT = "Press to get up." + screen.blit(load_sprite(sheet, 0, 37, 57,36, 912, 576), (0,0)) + screen.blit(load_sprite(sheet,57,15,8,25, 80, 250), (660, 290)) + dialog_square = pygame.surface.Surface((800, 68), pygame.SRCALPHA) + dialog_square.fill((0, 0, 0)) + screen.blit(dialog_square, (56, 500)) + if dialognum == 12: + DIALOGTEXT = "I'm the parasite..." + screen.blit(load_sprite(sheet, 0, 37, 57,36, 912, 576), (0,0)) + screen.blit(load_sprite(sheet,57,40,6,28, 60, 280), (600, 290)) + dialog_square = pygame.surface.Surface((800, 68), pygame.SRCALPHA) + dialog_square.fill((0, 0, 0)) + screen.blit(dialog_square, (56, 500)) + if dialognum == 13: + DIALOGTEXT = "" + screen.blit(load_sprite(sheet, 0, 37, 57,36, 912, 576), (0,0)) + screen.blit(load_sprite(sheet,57,15,8,25, 80, 250), (660, 290)) + level = 3 dialog = basicfont.render(DIALOGTEXT, True, transparency) if len(DIALOGTEXT) < 16: DX = 456-len(DIALOGTEXT)*9 diff --git a/main.py b/main.py index 8855d28..3a949ea 100644 --- a/main.py +++ b/main.py @@ -37,7 +37,12 @@ def main(fps=window_fps): # the main function levels.dialognum += 1 if event.key == pygame.K_h: if levels.dialognum == 9: + levels.tickd = 0 levels.dialognum = 10 + if event.key == pygame.K_SPACE: + if levels.dialognum == 11: + levels.tickd = 0 + levels.dialognum = 12 if event.type == pygame.MOUSEBUTTONDOWN: # what happens when you press down a mouse button click = True # sets the click variable to True so level function in levels.py can see print(pygame.mouse.get_pos()) # prints out where the mouse is during the click for debugging purposes diff --git a/sprites.png b/sprites.png index 445ecb553e982987fb241057789d39fdb69c8635..36c8befb24743671b16f22410cf8d0165ecb85af 100644 GIT binary patch literal 7632 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 A+W-In literal 9080 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