]> Skullheadx's Git Forge - Pygame-Jam.git/commitdiff
PET
authorlbcmk <30442978+lbcmk@users.noreply.github.com>
Wed, 13 Jul 2022 22:42:58 +0000 (18:42 -0400)
committerlbcmk <30442978+lbcmk@users.noreply.github.com>
Wed, 13 Jul 2022 22:42:58 +0000 (18:42 -0400)
Game.py
MainMenu.py
Pet.py
main.py

diff --git a/Game.py b/Game.py
index 7874716eca5d80c444bc24af71bed4afedcff836..a8f15a76da41e052162935dd35f0eb7a083a40a4 100644 (file)
--- a/Game.py
+++ b/Game.py
@@ -64,7 +64,11 @@ class Game:
                              self.collision_layer["potion"],
                              self.collision_layer["spike"],
                              self.collision_layer["arrow"])
-        self.pet = Pet(center, self.collision_layer["pet"], [self.collision_layer["world"]])
+        if(level == 1):
+            self.pet = Pet([6852, 1500], self.collision_layer["pet"], [self.collision_layer["world"]])
+        else:
+            self.pet = Pet(self.player.position, self.collision_layer["pet"], [self.collision_layer["world"]])
+        self.has_pet = False
         self.enemies = [Enemy(pos, self.collision_layer["enemy"],
                               [self.collision_layer["player"], self.collision_layer["world"],
                                self.collision_layer["enemy"]]) for pos in
@@ -142,7 +146,6 @@ class Game:
         # self.test = RangedAttack((1650,1250),self.collision_layer["world"], self.collision_layer["arrow"])
         if(self.level == 4):
             self.portal_position = (5475, 2400)
-
     # def load_world(self, level):
 
     def update(self, delta):
@@ -158,7 +161,7 @@ class Game:
             Setup.camera_offset = self.player.update(delta)
             Setup.camera_offset.x = max(0, min(Setup.camera_offset.x, MAP_WIDTH - SCREEN_WIDTH))
             Setup.camera_offset.y = max(0, min(Setup.camera_offset.y, MAP_HEIGHT - SCREEN_HEIGHT))
-            
+
             for i, enemy in enumerate(self.enemies):
                 enemy.update(delta, self.player)
                 if enemy.dead:
@@ -240,11 +243,11 @@ class Game:
                 self.bosshealthBar.update()
 
             if self.level == 1:
-                print(self.player.position)
+                print(self.player.position)
                 if self.player.position[0] > 6750 and self.player.position[1] >= 1500:
-                    self.player.has_pet = True
+                    self.has_pet = True
 
-            if self.player.has_pet == True:
+            if self.has_pet == True:
                 self.pet.update(delta, self.player)
                 #update pet
 
@@ -327,6 +330,8 @@ class Game:
         except:
             pass;
 
+        self.pet.draw(surf, self.player.position)
+
         if (self.level == 1):
             # self.dialogue.draw(surf, self.enemies[0], "enemy dialogue")
             self.dialogue.draw(surf, self.player, "Press A or D to move.", 400, 0, 900, 1800)
@@ -414,7 +419,6 @@ class Game:
         # Debug Lines. DO NOT CROSS THEM!
         # pg.draw.line(surf, (255, 0, 0), -Setup.camera_offset, pg.Vector2(SCREEN_WIDTH, -Setup.camera_offset.y), 10)
         # pg.draw.line(surf, (255, 0, 0), -Setup.camera_offset, pg.Vector2(-Setup.camera_offset.x, SCREEN_HEIGHT), 10)
-        self.pet.draw(surf, self.player.position)
 
         if (self.fade == True):
             self.fadeT.update(True)
@@ -436,6 +440,10 @@ class Game:
             self.scene.update()
             self.scene.draw()
 
-        if self.player.has_pet == True:
-            pass
+        # print(get_display_point(self.player.position))
+        # print(self.player.position)
+
+        # if self.player.has_pet == True:
+        #     self.pet.draw(surf, self.player.position)
+        #     pass
             #draw pet
index 8892853e44c54ee4169cb0acf73528cf2200a33a..5d83d49f8d4bac45706b3ad3b564e55d019da024 100644 (file)
@@ -26,6 +26,8 @@ class Menu:
         except:
             pass;
         
+        has_pet = False;
+        
     def update(self, delta):
         for ev in pg.event.get(pg.MOUSEBUTTONDOWN):
             if ev.type == pg.MOUSEBUTTONDOWN:
diff --git a/Pet.py b/Pet.py
index 1d41605541e3b54fadd6d923966a62e07c45eadf..36bebe7968028324d29f227ee1b08f9cf5a6829f 100644 (file)
--- a/Pet.py
+++ b/Pet.py
@@ -24,8 +24,18 @@ class Pet(Actor):
         self.position, self.velocity = self.move_and_collide(self.position, self.velocity, delta)
 
     def draw(self, surf, plpos=0):
-        surf.blit(self.move_frames[math.floor(self.frame)], get_display_rect(self.get_collision_rect()))
-        # self.position = plpos
+
+        d_off = pg.Vector2(0, -10)
+
+        display = self.move_frames[math.floor(self.frame)]
+        if(self.velocity[0] > 0):
+            display = pg.transform.flip(display, True, False)
+
+        surf.blit(display, get_display_rect(self.get_collision_rect()).topleft + d_off)
+        diff = self.position - plpos
+        if(abs(diff[0]) >= 1500 or abs(diff[1]) >= 1000):
+            self.position = plpos
+
         if(self.frame + 0.1 < len(self.move_frames)):
             self.frame += 0.08
         else: self.frame = 0
diff --git a/main.py b/main.py
index 747a8b4aaa8fac2a692af260c405039b80535fad..5f0384a56b543736a59a359c3c932be2856908e7 100644 (file)
--- a/main.py
+++ b/main.py
@@ -16,9 +16,11 @@ delta = 1000//fps
 # scene = TransitionScene()
 scene = Menu()
 old_level = 0
-level = 1
+level = 2
 next_level = 0
 
+has_snake = True;
+
 # final_level = 6
 
 while Setup.is_running:
@@ -53,6 +55,17 @@ while Setup.is_running:
     except:
         next_level = 0
 
+    if level == 1:
+        try:
+            has_snake = scene.has_pet
+        except:
+            pass;
+    elif(1 < level < 5):
+        try:
+            scene.has_pet = has_snake
+        except:
+            pass;
+
     scene.update(delta)
     scene.draw(screen)