]> Skullheadx's Git Forge - Pygame-Jam.git/commitdiff
Portal now work with Level Maker
authorlbcmk <30442978+lbcmk@users.noreply.github.com>
Mon, 11 Jul 2022 17:38:18 +0000 (13:38 -0400)
committerlbcmk <30442978+lbcmk@users.noreply.github.com>
Mon, 11 Jul 2022 17:38:18 +0000 (13:38 -0400)
Function/Portal.py
Game.py
World.py
main.py

index 64e207643d23f1ddc54fcef6d9aa63763fad2262..5d6d33e196f02a280c3f4a9e7a92650e6fa1fb4c 100644 (file)
@@ -23,16 +23,18 @@ class Transition:
     def update(self):
         return;
 
-    def draw(self, surf, playerPos, playerOffset=[0,0], offsetX=0, offsetY=0):
+    def draw(self, surf, playerPos, offset=(0,0)):
+        offsetX = offset[0]
+        offsetY = offset[1] - 25
 
         coords = getWorldCoords(0, 0)
 
         coords[1] += self.portalYAnim
         a = (((offsetX-self.width/2) + coords[0], offsetY + coords[1]), (offsetX+coords[0], offsetY-self.height/2+coords[1]), (offsetX+self.width/2 + coords[0], offsetY+coords[1]), (offsetX + coords[0], offsetY+self.height/2 + coords[1]))
         # print(a[0][0], a[1][1], a[2][0], a[3][1])
-        # print(playerPos[0]+40, playerPos[1]-250)
+        # print(playerPos[0], playerPos[1])
         
-        if(a[0][0] < playerPos[0]+playerOffset[0] < a[2][0] and a[1][1] < playerPos[1]+playerOffset[1] < a[3][1]):
+        if(a[0][0] < playerPos[0]+self.width/2 < a[2][0] and a[1][1] < playerPos[1] < a[3][1]):
             # self.buttonStage += 0.1
             surf.blit(self.buttonImage, (a[0][0]+self.width/4, a[1][1]-(2*self.width/3)))
             pressed = pg.key.get_pressed()
diff --git a/Game.py b/Game.py
index ff972beceee1269fff1c8d09c661503d11cefc4e..92f2750df134720201cbad583aa4e4969c64c3df 100644 (file)
--- a/Game.py
+++ b/Game.py
@@ -1,24 +1,24 @@
 from re import T
 
 from regex import F
+
 import Setup
-from Setup import *
-from Setup import camera_offset
-from Player import Player
-from Pet import Pet
-from Enemy import Enemy
 from Block import Block
-from PhysicsBody import PhysicsBody
-from World import World
 from EndScreen import EndScreen
+from Enemy import Enemy
+from Function.Fade import fade
+from Function.Portal import Transition
+from Pet import Pet
+from PhysicsBody import PhysicsBody
+from Player import Player
+from Setup import *
+from Setup import camera_offset
 from UI.DashMeter import DashMeter
+from UI.Dialogue import DialogueUI
 from UI.HealthBar import HealthBar
 from UI.PotionUI import PotionUI
+from World import World
 
-from Function.Portal import Transition
-from Function.Fade import fade
-
-from UI.Dialogue import DialogueUI
 
 class Game:
 
@@ -29,7 +29,7 @@ class Game:
 
         self.world = World(self.collision_layer)
 
-        enemy_positions, player_position = self.world.load_world(level)
+        enemy_positions, player_position, self.portal_position = self.world.load_world(level)
         self.player = Player(player_position, self.collision_layer["player"],
                              [self.collision_layer["enemy"], self.collision_layer["world"]],
                              [self.collision_layer["enemy"]])
@@ -78,7 +78,18 @@ class Game:
         # screen.fill((255,255,255))
         sky = pg.image.load("Assets/world/SKY.png")
         surf.blit(sky,(0,0))
-        self.Transition.draw(surf, self.player.position, [40, -250], 120, 625)
+
+        if (self.level == 1):
+            self.Transition.draw(surf, self.player.position, self.portal_position)
+            self.dialogue.text = "enemy dialogue"
+            self.dialogue.draw(surf, get_display_point(self.enemies[0].position)[0] + self.enemies[0].width / 2,
+                               get_display_point(self.enemies[0].position)[1])
+            self.dialogue.text = "player dialogue"
+            self.dialogue.draw(surf, get_display_point(self.player.position)[0] + self.player.width / 2,
+                               get_display_point(self.player.position)[1])
+
+        if(self.level == 4):
+            self.Transition.draw(surf, self.player.position, self.portal_position)
 
         self.world.draw(surf)
         for enemy in self.enemies:
@@ -89,16 +100,7 @@ class Game:
         # self.dashMeter.update(self.player.lastDash)
         # self.dashMeter.draw(surf)
         self.healthBar.draw(surf, self.player.health)
-        self.potionUI.draw(surf, self.player.potion_bag, self.player.potion_cooldown)
-
-        if (self.level == 1):
-            self.Transition.draw(surf, self.player.position, [40, -250], 120, 625)
-            self.dialogue.text = "enemy dialogue"
-            self.dialogue.draw(surf, get_display_point(self.enemies[0].position)[0] + self.enemies[0].width / 2,
-                               get_display_point(self.enemies[0].position)[1])
-            self.dialogue.text = "player dialogue"
-            self.dialogue.draw(surf, get_display_point(self.player.position)[0] + self.player.width / 2,
-                               get_display_point(self.player.position)[1])
+        self.potionUI.draw(surf, self.player.potion_bag, self.player.potion_cooldown)            
 
         # print(self.player.get_collision_rect())s
         # Debug Lines. DO NOT CROSS THEM!
index 04b7d4ec3819297a135d86223a043f6e828be3b3..1c3f108ee7c1abd236d1d571f1623b7a039bcc22 100644 (file)
--- a/World.py
+++ b/World.py
@@ -13,7 +13,7 @@ class World:
         with open(path.join("Levels", f'Level{level}.txt'), 'r') as f:
             file_contents = f.read().split("\n")
 
-        out = [[], center]
+        out = [[], center, "a"]
         for i in range(0, len(file_contents) - 1, 3):
             layer = file_contents[i].split("|")
             pos = file_contents[i + 1].split("|")
@@ -29,6 +29,8 @@ class World:
                     out[1] = (x, y)
                 elif t == "ENEMY":
                     out[0].append((x, y))
+                elif t == "PORTAL":
+                    out[2] = (x, y)
                 elif f"{t}.png" in listdir("Assets/world/decor"):
                     self.blocks.append(Decor((x,y),self.collision_layer["none"],t))
                 else:
diff --git a/main.py b/main.py
index ec8eb8511090ad751c694f80d2f3d67a74c79dd3..ab84c277ccc1c91bdc3c9695ffe34021a43ac179 100644 (file)
--- a/main.py
+++ b/main.py
@@ -14,20 +14,13 @@ is_running = True
 # scene = TransitionScene()
 scene = DevLevelSelect()
 old_level = 0
-level =1
+level = 4
 next_level = 0
 
 while is_running:
     if pg.event.peek(pg.QUIT):
         is_running = False
 
-    if level <= 1:
-        level = scene.level
-        try:
-            next_level = scene.next_level
-        except:
-            next_level = 0
-
     if level == -1:
         level = old_level
         old_level = 0
@@ -36,6 +29,8 @@ while is_running:
         match level:
             case -4:
                 scene = TransitionScene(next_level)
+            case -3:
+                scene = DevLevelSelect()
             case -2:
                 scene = LevelCreator()
             case 0:
@@ -46,8 +41,17 @@ while is_running:
                 scene = Game(2)
             case 3:
                 scene = Game(3)
+            case 4:
+                scene = Game(4)
         old_level = level
 
+    if level <= 1:
+        level = scene.level
+        try:
+            next_level = scene.next_level
+        except:
+            next_level = 0
+
     scene.update(delta)
     scene.draw(screen)