]> Skullheadx's Git Forge - Pygame-Jam.git/commitdiff
fixed collision bugs
authorSkullheadx <704277@pdsb.net>
Mon, 11 Jul 2022 19:49:50 +0000 (15:49 -0400)
committerSkullheadx <704277@pdsb.net>
Mon, 11 Jul 2022 19:49:50 +0000 (15:49 -0400)
14 files changed:
Actors.py
Assets/world/decor/BRONZECOIN.png [new file with mode: 0644]
Assets/world/decor/GOLDCOIN.png [new file with mode: 0644]
Assets/world/decor/JEWEL.png [new file with mode: 0644]
Assets/world/decor/SILVERCOIN.png [new file with mode: 0644]
Enemy.py
Game.py
Levels/Level4.txt
Levels/Level5.txt [new file with mode: 0644]
Levels/Level6.txt [new file with mode: 0644]
Levels/Level7.txt [new file with mode: 0644]
PhysicsBody.py
Player.py
main.py

index 52ea841bfe10c8c3b9437bf38ecac81844c7161f..1a24e16dbd23578b225fe7253bd605c99fd64c09 100644 (file)
--- a/Actors.py
+++ b/Actors.py
@@ -91,6 +91,7 @@ class Actor:
             self.invincibility_frames = self.invincibility_time
 
     def follow_target(self, node, follow_range=100000, stop_dist=115):
+        return
         # if stop_dist is None:
         #     stop_dist = max(self.height, self.width) * 1.5
 
@@ -177,15 +178,15 @@ class Actor:
                     if area.is_colliding(thing):
                         area.signal(thing)
                 if collision_rect.colliderect(thing.get_collision_rect()):
-                    if vel.y > 0:
+                    if vel.y >= 0:
                         pos.y = thing.position.y - self.height
                         vel.y = min(vel.y, 0)
                         self.on_ground = True
                         self.coyote_time = datetime.utcnow()
                     elif vel.y < 0:
                         pos.y = thing.position.y + thing.height
-                        vel.y = max(vel.y, 0)
-                    collision_rect = self.get_collision_rect(pos)
+                        vel.y = max(vel.y, 0)
+                    collision_rect = self.get_collision_rect(pos)
         return pos, vel
 
     def get_collision_rect(self, pos=None):
diff --git a/Assets/world/decor/BRONZECOIN.png b/Assets/world/decor/BRONZECOIN.png
new file mode 100644 (file)
index 0000000..03af0db
Binary files /dev/null and b/Assets/world/decor/BRONZECOIN.png differ
diff --git a/Assets/world/decor/GOLDCOIN.png b/Assets/world/decor/GOLDCOIN.png
new file mode 100644 (file)
index 0000000..4192fc1
Binary files /dev/null and b/Assets/world/decor/GOLDCOIN.png differ
diff --git a/Assets/world/decor/JEWEL.png b/Assets/world/decor/JEWEL.png
new file mode 100644 (file)
index 0000000..10361a6
Binary files /dev/null and b/Assets/world/decor/JEWEL.png differ
diff --git a/Assets/world/decor/SILVERCOIN.png b/Assets/world/decor/SILVERCOIN.png
new file mode 100644 (file)
index 0000000..e645069
Binary files /dev/null and b/Assets/world/decor/SILVERCOIN.png differ
index a5d40307b901afdf397f60979f8501944434116e..c6a3df4740bb19dfdcb35c9606feb7f1b645e021 100644 (file)
--- a/Enemy.py
+++ b/Enemy.py
@@ -6,7 +6,6 @@ from Weapon import Melee
 
 
 class Enemy(Actor):
-    width, height = 50, 100
     speed = Actor.speed * 0.5
     # jump_strength = Actor.jump_strength * 0.5
     colour = (235, 64, 52)
@@ -28,6 +27,8 @@ class Enemy(Actor):
         self.weapon = Melee(self.position, (-Melee.width / 2 + 7, Melee.height / 2 + self.height / 3 - 8),
                             (-5, Melee.height), self.width, -1, -10)
 
+        self.buffer = []
+
     def update(self, delta, target=None):
         super().update(delta)
         if not self.attacked and target is not None and self.dizzy_time == 0:
@@ -59,4 +60,8 @@ class Enemy(Actor):
     def draw(self, surf):
         self.weapon.draw(surf)
         super(Enemy, self).draw(surf)
+
+        # for b in self.buffer:
+        #     pg.draw.rect(surf,(0,0,255),b,3)
+        # self.buffer.append(get_display_rect(self.get_collision_rect()))
         # pg.draw.rect(surf, (0, 255, 0), get_display_rect(self.get_collision_rect()), 2)
diff --git a/Game.py b/Game.py
index b6f5fb4a139a3310708ef8f4893576974472ff60..569e984130e7f04ad379895a1041687ab92d6969 100644 (file)
--- a/Game.py
+++ b/Game.py
@@ -23,16 +23,17 @@ from World import World
 class Game:
 
     def __init__(self, level):
-        self.collision_layer = {"none": set(), "world": set(), "player": set(), "enemy": set(), "pet": set()}
+        self.collision_layer = {"none": set(), "world": set(), "player": set(), "enemy": set(), "pet": set(), "body":set()}
 
         # self.load_world(level)
 
         self.world = World(self.collision_layer)
 
         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"]])
+                             [self.collision_layer["enemy"], self.collision_layer["body"]])
         # self.pet = Pet(center, self.collision_layer["pet"], [self.collision_layer["world"]])
         self.enemies = [Enemy(pos, self.collision_layer["enemy"],
                               [self.collision_layer["player"], self.collision_layer["world"]]) for pos in
@@ -62,9 +63,9 @@ class Game:
             enemy.update(delta, self.player)
             if enemy.dead:
                 self.enemies[i] = PhysicsBody(enemy.position, enemy.velocity, enemy.width, enemy.height, enemy.colour,
-                                              enemy.collision_layer, enemy.collision_mask)
+                                              self.collision_layer["body"], [self.collision_layer["world"], self.collision_layer["body"]])
                 self.collision_layer["enemy"].remove(enemy)
-                self.collision_layer["enemy"].add(self.enemies[i])
+                self.collision_layer["body"].add(self.enemies[i])
 
         self.world.update(delta)
         self.fade = self.Transition.fade
@@ -72,7 +73,7 @@ class Game:
         # self.pet.update(delta, self.player, self.camera_pos)
 
     def draw(self, surf):
-        screen.fill((0, 191, 255))
+        screen.fill((0, 191, 255))
 
         # screen.fill((0, 191, 255))
         # screen.fill((255,255,255))
index c60b00e529b89d1f5ee04a0ec5108e7e6e03286b..666c11cb56cd8e1b2440c871f7522090bf80ebc9 100644 (file)
@@ -1,6 +1,6 @@
-world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world
-850.0,250.0|800.0,250.0|750.0,250.0|950.0,200.0|900.0,200.0|850.0,200.0|800.0,200.0|750.0,200.0|1000.0,200.0|1050.0,200.0|1100.0,200.0|1150.0,200.0|500.0,500.0|1050.0,500.0|1350.0,400.0|1350.0,450.0|1350.0,500.0|1350.0,350.0|1400.0,350.0|1400.0,300.0|1450.0,300.0|1500.0,300.0|1550.0,300.0|1600.0,300.0|1600.0,350.0|1550.0,350.0|1350.0,300.0|1600.0,400.0|1600.0,450.0|1600.0,500.0|1600.0,650.0|1250.0,650.0|1200.0,650.0|1150.0,650.0|400.0,650.0|350.0,650.0|300.0,650.0|300.0,700.0|350.0,700.0|400.0,700.0|1150.0,700.0|1200.0,700.0|1300.0,650.0|1350.0,650.0|1400.0,650.0|1450.0,650.0|1500.0,650.0|1550.0,650.0|1250.0,700.0|1300.0,700.0|1350.0,700.0|1400.0,700.0|1450.0,700.0|1500.0,700.0|1550.0,700.0|1600.0,700.0|750.0,450.0|1300.0,550.0|1250.0,550.0|1200.0,550.0|1150.0,550.0|1100.0,550.0|1050.0,550.0|1000.0,550.0|950.0,550.0|900.0,550.0|850.0,550.0|800.0,550.0|750.0,550.0|700.0,550.0|650.0,550.0|600.0,550.0|550.0,550.0|500.0,550.0|300.0,550.0|1350.0,550.0|1400.0,550.0|1450.0,550.0|1500.0,550.0|1550.0,550.0|1500.0,450.0|1600.0,600.0|1550.0,600.0|1500.0,600.0|1450.0,600.0|1400.0,600.0|1350.0,600.0|1300.0,600.0|1250.0,600.0|1200.0,600.0|1150.0,600.0|1050.0,600.0|1000.0,600.0|950.0,600.0|900.0,600.0|850.0,600.0|800.0,600.0|750.0,600.0|700.0,600.0|650.0,600.0|600.0,600.0|550.0,600.0|500.0,600.0|300.0,600.0|350.0,600.0|400.0,600.0|450.0,600.0|450.0,550.0|400.0,550.0|350.0,550.0|1600.0,550.0|1100.0,600.0|1100.0,650.0|1100.0,700.0|1050.0,700.0|1050.0,650.0|1000.0,650.0|1000.0,700.0|950.0,700.0|950.0,650.0|900.0,650.0|850.0,650.0|800.0,650.0|750.0,650.0|900.0,700.0|850.0,700.0|800.0,700.0|750.0,700.0|700.0,700.0|700.0,650.0|650.0,650.0|600.0,650.0|550.0,650.0|500.0,650.0|450.0,650.0|450.0,700.0|500.0,700.0|550.0,700.0|600.0,700.0|650.0,700.0|2000.0,500.0|2000.0,450.0|1900.0,500.0|1950.0,500.0|1950.0,450.0|1900.0,450.0
-SAND|SAND|SAND|STONEDIRT|STONEDIRT|STONEDIRT|STONEDIRT|STONEDIRT|STONEDIRT|STONEDIRT|STONEDIRT|STONEDIRT|PORTAL|INTERDIMENSIONALPOWDER|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|PLAYER|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|ENEMY|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|CORNERGRASS|CORNERGRASS|CORNERGRASS|CORNERGRASS|CORNERGRASS|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|CORNERDIRT|CORNERGRASS|DIRT|DIRT|GRASS|GRASS
+none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|none|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world
+1350.0,300.0|1400.0,300.0|1450.0,300.0|1500.0,300.0|1550.0,300.0|1600.0,300.0|1550.0,350.0|1600.0,350.0|1600.0,400.0|1600.0,450.0|1400.0,350.0|1350.0,350.0|1350.0,400.0|1350.0,450.0|750.0,400.0|1500.0,400.0|850.0,250.0|800.0,250.0|750.0,250.0|950.0,150.0|900.0,150.0|850.0,150.0|800.0,150.0|750.0,150.0|1000.0,150.0|1050.0,150.0|1100.0,150.0|1150.0,150.0|1600.0,600.0|1250.0,600.0|1200.0,600.0|1150.0,600.0|400.0,600.0|350.0,600.0|300.0,600.0|300.0,650.0|350.0,650.0|400.0,650.0|1150.0,650.0|1200.0,650.0|1300.0,600.0|1350.0,600.0|1400.0,600.0|1450.0,600.0|1500.0,600.0|1550.0,600.0|1250.0,650.0|1300.0,650.0|1350.0,650.0|1400.0,650.0|1450.0,650.0|1500.0,650.0|1550.0,650.0|1600.0,650.0|1300.0,500.0|1250.0,500.0|1200.0,500.0|1150.0,500.0|1100.0,500.0|1050.0,500.0|1000.0,500.0|950.0,500.0|900.0,500.0|850.0,500.0|800.0,500.0|750.0,500.0|700.0,500.0|650.0,500.0|600.0,500.0|550.0,500.0|500.0,500.0|300.0,500.0|1350.0,500.0|1400.0,500.0|1450.0,500.0|1500.0,500.0|1550.0,500.0|1600.0,550.0|1550.0,550.0|1500.0,550.0|1450.0,550.0|1400.0,550.0|1350.0,550.0|1300.0,550.0|1250.0,550.0|1200.0,550.0|1150.0,550.0|1050.0,550.0|1000.0,550.0|950.0,550.0|900.0,550.0|850.0,550.0|800.0,550.0|750.0,550.0|700.0,550.0|650.0,550.0|600.0,550.0|550.0,550.0|500.0,550.0|300.0,550.0|350.0,550.0|400.0,550.0|450.0,550.0|450.0,500.0|400.0,500.0|350.0,500.0|1600.0,500.0|1100.0,550.0|1100.0,600.0|1100.0,650.0|1050.0,650.0|1050.0,600.0|1000.0,600.0|1000.0,650.0|950.0,650.0|950.0,600.0|900.0,600.0|850.0,600.0|800.0,600.0|750.0,600.0|900.0,650.0|850.0,650.0|800.0,650.0|750.0,650.0|700.0,650.0|700.0,600.0|650.0,600.0|600.0,600.0|550.0,600.0|500.0,600.0|450.0,600.0|450.0,650.0|500.0,650.0|550.0,650.0|600.0,650.0|650.0,650.0|2000.0,500.0|2000.0,450.0|1900.0,500.0|1950.0,500.0|1950.0,450.0|1900.0,450.0|1200.0,150.0|1250.0,150.0|1300.0,150.0|1350.0,150.0|1400.0,150.0|1450.0,150.0|1500.0,150.0|1550.0,150.0|1600.0,150.0
+STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|STONEBRICK|PLAYER|ENEMY|SAND|SAND|SAND|STONEDIRT|STONEDIRT|STONEDIRT|STONEDIRT|STONEDIRT|STONEDIRT|STONEDIRT|STONEDIRT|STONEDIRT|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|STONE|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|GRASS|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|CORNERGRASS|CORNERGRASS|CORNERGRASS|CORNERGRASS|CORNERGRASS|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|DIRT|CORNERDIRT|CORNERGRASS|DIRT|DIRT|GRASS|GRASS|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER
 
 
 
diff --git a/Levels/Level5.txt b/Levels/Level5.txt
new file mode 100644 (file)
index 0000000..0e324a7
--- /dev/null
@@ -0,0 +1,15 @@
+none|none|none|none|none|none|none|none|none|none|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world|world
+1250.0,750.0|1200.0,750.0|1350.0,750.0|1350.0,700.0|1450.0,750.0|1450.0,700.0|1450.0,650.0|1450.0,600.0|1450.0,550.0|1250.0,700.0|50.0,800.0|100.0,800.0|150.0,800.0|200.0,800.0|250.0,800.0|300.0,800.0|350.0,800.0|400.0,800.0|450.0,800.0|500.0,800.0|550.0,800.0|600.0,800.0|650.0,800.0|700.0,800.0|750.0,800.0|800.0,800.0|850.0,800.0|900.0,800.0|950.0,800.0|1000.0,800.0|1050.0,800.0|1100.0,800.0|1150.0,800.0|1200.0,800.0|1250.0,800.0|1300.0,800.0|1350.0,800.0|1400.0,800.0|1450.0,800.0|1500.0,800.0|1550.0,800.0|1600.0,800.0|1650.0,800.0|1700.0,800.0|1750.0,800.0|1800.0,800.0|1850.0,800.0|1900.0,800.0|1950.0,800.0|2000.0,800.0|2050.0,800.0|2100.0,800.0|2150.0,850.0|2100.0,850.0|2050.0,850.0|2000.0,850.0|1950.0,850.0|1900.0,850.0|1850.0,850.0|1800.0,850.0|1750.0,850.0|1700.0,850.0|1650.0,850.0|1600.0,850.0|1550.0,850.0|1500.0,850.0|1450.0,850.0|1400.0,850.0|1350.0,850.0|1300.0,850.0|1250.0,850.0|1200.0,850.0|1150.0,850.0|1100.0,850.0|1050.0,850.0|1000.0,850.0|950.0,850.0|900.0,850.0|850.0,850.0|800.0,850.0|750.0,850.0|700.0,850.0|650.0,850.0|600.0,850.0|550.0,850.0|500.0,850.0|450.0,850.0|400.0,850.0|350.0,850.0|300.0,850.0|250.0,850.0|200.0,850.0|150.0,850.0|100.0,850.0|50.0,850.0|0.0,850.0|0.0,800.0|0.0,750.0|0.0,700.0|0.0,650.0|0.0,600.0|0.0,550.0|0.0,400.0|0.0,350.0|0.0,300.0|0.0,250.0|0.0,200.0|0.0,150.0|0.0,100.0|0.0,50.0|0.0,0.0|2200.0,850.0|2200.0,800.0|2200.0,750.0|2200.0,700.0|2200.0,650.0|2200.0,600.0|2150.0,400.0|2200.0,200.0|2200.0,150.0|2200.0,100.0|2200.0,50.0|2200.0,0.0|2150.0,0.0|2150.0,50.0|2150.0,100.0|2150.0,150.0|2150.0,200.0|2150.0,250.0|2150.0,350.0|2150.0,300.0|2200.0,250.0|2200.0,300.0|2200.0,350.0|2200.0,400.0|2200.0,550.0|2150.0,550.0|2150.0,600.0|2150.0,650.0|2150.0,700.0|2150.0,750.0|2150.0,800.0|300.0,600.0|0.0,450.0|2200.0,450.0|2150.0,450.0|2150.0,500.0|2200.0,500.0|0.0,500.0|1900.0,550.0|1900.0,600.0|1900.0,650.0|1900.0,700.0|1900.0,750.0|2050.0,700.0
+GOLDCOIN|BRONZECOIN|PEDESTAL|INTERDIMENSIONALPOWDER|PILLAR_|PILLAR_|PILLAR_|PILLAR_|PILLAR_|SILVERCOIN|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLAYER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|PLACEHOLDER|ENEMY
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Levels/Level6.txt b/Levels/Level6.txt
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/Levels/Level7.txt b/Levels/Level7.txt
new file mode 100644 (file)
index 0000000..e69de29
index 2111e2a27f2a799d632bd6ca770c706c8aa15187..2c1dafae9c17730f50bd5b5cd0310ce73e39187d 100644 (file)
@@ -60,12 +60,12 @@ class PhysicsBody:
                     #         thing.position.x = pos.x + self.width
                     #     elif vel.x < 0:
                     #         thing.position.x = pos.x - thing.width
-                    if vel.x > 0:
+                    if vel.x >= 0:
                         pos.x = thing.position.x - self.width
-                        vel.x = min(vel.x, 0)
+                        vel.x = min(vel.x, 0)
                     elif vel.x < 0:
                         pos.x = thing.position.x + thing.width
-                        vel.x = max(vel.x, 0)
+                        vel.x = max(vel.x, 0)
                     collision_rect = self.get_collision_rect(pos)
 
         self.on_ground = False
@@ -76,13 +76,13 @@ class PhysicsBody:
                 if thing == self:
                     continue
                 if collision_rect.colliderect(thing.get_collision_rect()):
-                    if vel.y > 0:
+                    if vel.y >= 0:
                         pos.y = thing.position.y - self.height
                         vel.y = min(vel.y, 0)
                         self.on_ground = True
                     elif vel.y < 0:
                         pos.y = thing.position.y + thing.height
-                        vel.y = max(vel.y, 0)
+                        vel.y = max(vel.y, 0)
                     # collision_rect = self.get_collision_rect(pos)
         return pos, vel
 
index 292aed8bf4e34bb14f03b3acee45d1090032656d..4822dabff2014237c71954fd470d7dee33ab9361 100644 (file)
--- a/Player.py
+++ b/Player.py
@@ -241,6 +241,7 @@ class Player(Actor):
                           get_display_rect(self.get_collision_rect()).topleft + pg.Vector2(0, 55) +
                           self.display_offsets["weapon"])
         surf.blit(self.display, get_display_rect(self.get_collision_rect()).topleft + self.display_offsets["player"])
+        # print(self, self.position)
         # super().draw(surf)
         # print(self.position, self.velocity, get_display_rect(self.get_collision_rect()).topleft, Setup.camera_offset)
         # pg.draw.rect(surf, self.colour, get_display_rect(self.get_collision_rect()), border_radius=8)
diff --git a/main.py b/main.py
index a401dd6290292081eb5069730c94bf4223fa4ae8..f807de598226d4b73bc99cf3a2681865cc5c5325 100644 (file)
--- a/main.py
+++ b/main.py
@@ -44,7 +44,7 @@ while is_running:
             case 4:
                 scene = Game(4)
             case 5:
-                scene = Game(7)
+                scene = Game(5)
         old_level = level
 
     if level <= 1: