From: lbcmk <30442978+lbcmk@users.noreply.github.com> Date: Tue, 12 Jul 2022 23:35:44 +0000 (-0400) Subject: End screen and credits X-Git-Url: http://git.skullheadx.com/nixos/static/projects.html?a=commitdiff_plain;h=b2dee328279ff1de7a86f4a7e8004e1e38dd95a6;p=Pygame-Jam.git End screen and credits --- diff --git a/Game.py b/Game.py index 2b77308..3bcae95 100644 --- a/Game.py +++ b/Game.py @@ -197,19 +197,6 @@ class Game: # self.dialogue.draw(surf, self.player, "text4", 1, 4) # self.dialogue.draw(surf, self.player, "text5", 0.5, 5) - if(self.level == 13): - self.dialogue.draw(surf, self.player, "text1", 4, 1, 325, 320) - self.dialogue.draw(surf, self.player, "text2", 3, 2) - self.dialogue.draw(surf, self.player, "text3", 2, 3) - self.dialogue.draw(surf, self.player, "text4", 1, 4) - self.dialogue.draw(surf, self.player, "text5", 0.5, 5) - - if (self.level == 14): - self.dialogue.draw(surf, self.player, "text2", 3, 2) - self.dialogue.draw(surf, self.player, "text3", 2, 3) - self.dialogue.draw(surf, self.player, "text4", 1, 4) - self.dialogue.draw(surf, self.player, "text5", 0.5, 5) - # self.dashMeter.update(self.player.lastDash) # self.dashMeter.draw(surf) self.healthBar.draw(surf, self.player.health) diff --git a/UI/Credits.py b/UI/Credits.py new file mode 100644 index 0000000..3f35fef --- /dev/null +++ b/UI/Credits.py @@ -0,0 +1,57 @@ +import Setup +from Setup import * +from CommonImports.colours import black +from Function.createText import createText + +class Credits: + + def __init__(self): + self.texts = [] + X = SCREEN_WIDTH + Y = SCREEN_HEIGHT/4 + + # CHANGE YOUR NAME HERE IF YOU WANT + self.texts.append(createText(X, Y+800, 24, black, "Regular", "Exit", "c")) + + self.texts.append(createText(X, Y, 48, black, "Bold", "Credits:", "c")) + + self.texts.append(createText(X - 400, Y+200, 32, black, "Regular", "Programmers:", "c")) + self.texts.append(createText(X - 400, Y+300, 24, black, "Regular", "Skullhead", "c")) + self.texts.append(createText(X - 400, Y+400, 24, black, "Regular", "lbcmk", "c")) + self.texts.append(createText(X - 400, Y+500, 24, black, "Regular", "Enlightened", "c")) + + self.texts.append(createText(X + 400, Y+200, 32, black, "Regular", "Artists:", "c")) + self.texts.append(createText(X + 400, Y+300, 24, black, "Regular", "Landy", "c")) + self.texts.append(createText(X + 400, Y+400, 24, black, "Regular", "MountainH", "c")) + + self.level = -5 + + try: + pg.mixer.music.load('Assets/Music/Main_Menu_Music.ogg') + pg.mixer.music.play(-1) + except: + pass; + + def update(self, delta): + for ev in pg.event.get(pg.MOUSEBUTTONDOWN): + if ev.type == pg.MOUSEBUTTONDOWN: + mouseX, mouseY = pg.mouse.get_pos() + for i in range(len(self.texts)): + x1 = self.texts[i][1][0] + y1 = self.texts[i][1][1] + x2 = x1 + self.texts[i][0].get_rect()[2] + y2 = y1 + self.texts[i][0].get_rect()[3] + + if (x1 <= mouseX <= x2 and y1 <= mouseY <= y2): + self.menuFunctions(i) + return + + def draw(self, surf): + screen.fill((255, 255, 255)) + for i in self.texts: + screen.blit(i[0], i[1]) + + def menuFunctions(self, num): + match num: + case 0: + self.level = 6 diff --git a/UI/FinalScreen.py b/UI/FinalScreen.py new file mode 100644 index 0000000..6e4084f --- /dev/null +++ b/UI/FinalScreen.py @@ -0,0 +1,51 @@ +import Setup +from Setup import * +from CommonImports.colours import black +from Function.createText import createText + +class FinalScreen: + + def __init__(self): + self.texts = [] + X = SCREEN_WIDTH + Y = SCREEN_HEIGHT/2 + self.texts.append(createText(X, Y, 48, black, "Bold", "Thanks for Playing", "c")) + self.texts.append(createText(X, Y+200, 32, black, "Regular", "Credits", "c")) + self.texts.append(createText(X, Y+350, 32, black, "Regular", "Main Menu", "c")) + self.texts.append(createText(X, Y+500, 32, black, "Regular", "Quit", "c")) + + self.level = 6 + + try: + pg.mixer.music.load('Assets/Music/Main_Menu_Music.ogg') + pg.mixer.music.play(-1) + except: + pass; + + def update(self, delta): + for ev in pg.event.get(pg.MOUSEBUTTONDOWN): + if ev.type == pg.MOUSEBUTTONDOWN: + mouseX, mouseY = pg.mouse.get_pos() + for i in range(len(self.texts)): + x1 = self.texts[i][1][0] + y1 = self.texts[i][1][1] + x2 = x1 + self.texts[i][0].get_rect()[2] + y2 = y1 + self.texts[i][0].get_rect()[3] + + if (x1 <= mouseX <= x2 and y1 <= mouseY <= y2): + self.menuFunctions(i) + return + + def draw(self, surf): + screen.fill((255, 255, 255)) + for i in self.texts: + screen.blit(i[0], i[1]) + + def menuFunctions(self, num): + match num: + case 1: + self.level = -5 + case 2: + self.level = 0 + case 3: + Setup.is_running = False diff --git a/main.py b/main.py index 904f5b9..31c4b1f 100644 --- a/main.py +++ b/main.py @@ -1,3 +1,4 @@ +from typing import Final from Setup import * import Setup from Game import Game @@ -5,6 +6,8 @@ from Test import Test from LevelCreator import LevelCreator from MainMenu import Menu from Function.Transition import TransitionScene +from UI.FinalScreen import FinalScreen +from UI.Credits import Credits from DevLevelSelect import DevLevelSelect @@ -13,10 +16,10 @@ delta = 1000//fps # scene = TransitionScene() scene = DevLevelSelect() old_level = 0 -level = 1 +level = 0 next_level = 0 -final_level = 6 +# final_level = 6 while Setup.is_running: if pg.event.peek(pg.QUIT): @@ -28,6 +31,8 @@ while Setup.is_running: if old_level != level: match level: + case -5: + scene = Credits() case -4: scene = TransitionScene(next_level) case -3: @@ -36,6 +41,8 @@ while Setup.is_running: scene = LevelCreator() case 0: scene = Menu() + case 6: + scene = FinalScreen() case _: scene = Game(level) old_level = level