]> Skullheadx's Git Forge - Pygame-Jam.git/commitdiff
End screen and credits
authorlbcmk <30442978+lbcmk@users.noreply.github.com>
Tue, 12 Jul 2022 23:35:44 +0000 (19:35 -0400)
committerlbcmk <30442978+lbcmk@users.noreply.github.com>
Tue, 12 Jul 2022 23:35:44 +0000 (19:35 -0400)
Game.py
UI/Credits.py [new file with mode: 0644]
UI/FinalScreen.py [new file with mode: 0644]
main.py

diff --git a/Game.py b/Game.py
index 2b77308c749114db8e1c39028e68a0e0abd34767..3bcae959529828cbb32655c3a791cb78ad5cfb72 100644 (file)
--- 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 (file)
index 0000000..3f35fef
--- /dev/null
@@ -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 (file)
index 0000000..6e4084f
--- /dev/null
@@ -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 904f5b9dd4b4d02339cef1c8804ddcaaedd83f50..31c4b1ff45ca06d6f11f510d3d9d30d4e491ce51 100644 (file)
--- 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