]> Skullheadx's Git Forge - fruit-ninja.git/commitdiff
game tweaks + cleanup files
authorSkullheadx <94652084+Skullheadx@users.noreply.github.com>
Fri, 2 Jun 2023 14:36:53 +0000 (10:36 -0400)
committerSkullheadx <94652084+Skullheadx@users.noreply.github.com>
Fri, 2 Jun 2023 14:36:53 +0000 (10:36 -0400)
bomb.py
effect.py
fruit.py
game.py
main.py
setup.py

diff --git a/bomb.py b/bomb.py
index dca47dcd7cffce1ec6b7f42cf308701a74ba1eb1..52209cde58db4d59b5af6ae560bc93ecc2dfe7da 100644 (file)
--- a/bomb.py
+++ b/bomb.py
@@ -4,5 +4,6 @@ from fruit import Fruit
 
 class Bomb(Fruit):
     RADIUS = 35
+
     def draw(self, surf):
         pygame.draw.circle(surf, BLACK, self.position, self.RADIUS)
index 735d0dbe66f03692091ba4c5c251bc49df82d5b7..3b2a22cbf202c0218c38c16be246f39dc96255ee 100644 (file)
--- a/effect.py
+++ b/effect.py
@@ -11,7 +11,7 @@ class Effect:
     def __init__(self, position, radius, color):
         self.position = pygame.Vector2(position)
         self.velocity = pygame.Vector2(random.random() - 0.5, random.random() - 0.5).normalize() * lerp(
-            self.SPEED_RANGE[0],self.SPEED_RANGE[1],random.random())
+            self.SPEED_RANGE[0], self.SPEED_RANGE[1], random.random())
         self.radius = radius * lerp(self.RADIUS_RANGE[0], self.RADIUS_RANGE[1], random.random())
         self.time = self.LIFE_TIME
         self.color = DARKEN[color]
index 5a9785921c378502d613841887f4e96ec6e7f12b..489ee9ac22dfb41ccf9e72040ceb377296b4a3bb 100644 (file)
--- a/fruit.py
+++ b/fruit.py
@@ -6,29 +6,32 @@ from setup import *
 class Fruit:
     RADIUS_RANGE = [25, 50]
 
-    HORIZONTAL_SPAWN_RANGE = [WIDTH / 5, WIDTH * 4 / 5]
-    VERTICAL_SPAWN_RANGE = [HEIGHT + max(RADIUS_RANGE), HEIGHT*2 + max(RADIUS_RANGE) ]
+    HORIZONTAL_SPAWN_RANGE = [max(RADIUS_RANGE), WIDTH - max(RADIUS_RANGE)]
+    VERTICAL_SPAWN_RANGE = [HEIGHT + max(RADIUS_RANGE), HEIGHT * 2 + max(RADIUS_RANGE)]
 
-    VERTICAL_TARGET_RANGE = [HEIGHT / 5, HEIGHT * 2/3]
-    HORIZONTAL_TARGET_RANGE = [WIDTH / 5, WIDTH * 4 / 5]
+    VERTICAL_TARGET_RANGE = [max(RADIUS_RANGE), HEIGHT * 4 / 5]
+    HORIZONTAL_TARGET_RANGE = [max(RADIUS_RANGE), WIDTH - max(RADIUS_RANGE)]
 
     GRAVITY = 275
 
     COLORS = [RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE]
-    OUTLINE_WIDTH =3
+    OUTLINE_WIDTH = 3
+
     def __init__(self):
         self.radius = lerp(self.RADIUS_RANGE[0], self.RADIUS_RANGE[1], random.random())
 
-        self.target = pygame.Vector2(lerp(self.HORIZONTAL_TARGET_RANGE[0], self.HORIZONTAL_TARGET_RANGE[1], random.random()),lerp(self.VERTICAL_TARGET_RANGE[0], self.VERTICAL_TARGET_RANGE[1], random.random()))
-        self.position = pygame.Vector2(lerp(self.HORIZONTAL_SPAWN_RANGE[0], self.HORIZONTAL_SPAWN_RANGE[1], random.random()),
-                                       lerp(self.VERTICAL_SPAWN_RANGE[0], self.VERTICAL_SPAWN_RANGE[1], random.random()))
+        self.target = pygame.Vector2(
+            lerp(self.HORIZONTAL_TARGET_RANGE[0], self.HORIZONTAL_TARGET_RANGE[1], random.random()),
+            lerp(self.VERTICAL_TARGET_RANGE[0], self.VERTICAL_TARGET_RANGE[1], random.random()))
+        self.position = pygame.Vector2(
+            lerp(self.HORIZONTAL_SPAWN_RANGE[0], self.HORIZONTAL_SPAWN_RANGE[1], random.random()),
+            lerp(self.VERTICAL_SPAWN_RANGE[0], self.VERTICAL_SPAWN_RANGE[1], random.random()))
         self.acceleration = pygame.Vector2(0, self.GRAVITY)
 
-
-        dy = self.target.y-self.position.y
-        dx = self.target.x-self.position.x
-        t = (-2 / self.GRAVITY * dy)**0.5
-        self.velocity = pygame.Vector2(dx/t, -(-2 * self.GRAVITY * dy)**0.5)
+        dy = self.target.y - self.position.y
+        dx = self.target.x - self.position.x
+        t = (-2 / self.GRAVITY * dy) ** 0.5
+        self.velocity = pygame.Vector2(dx / t, -(-2 * self.GRAVITY * dy) ** 0.5)
 
         self.color = random.choice(self.COLORS)
 
diff --git a/game.py b/game.py
index 5749803ad376b94791bcfe1fa33b05650df0a389..c8aad210d5114691b2ce5fde8a73f8e4bb4aaf91 100644 (file)
--- a/game.py
+++ b/game.py
@@ -36,7 +36,8 @@ class Game:
         for hit in hits:
             for i in range(self.EFFECT_COUNT_PER_FRUIT):
                 self.effects.append(Effect(hit.position, hit.radius, hit.color))
-            self.fruits.remove(hit)
+            if hit in self.fruits:
+                self.fruits.remove(hit)
 
         for effect in self.effects:
             effect_status = effect.update(delta)
diff --git a/main.py b/main.py
index 99fc4ce682c06ca8340e527b9f9cb3caa869e84b..4433359fc91336a0cb5d287fb3c65d6bcdd64ab6 100644 (file)
--- a/main.py
+++ b/main.py
@@ -18,5 +18,4 @@ while is_running:
     elif status == COMMAND_START:
         scene = Game()
 
-
 pygame.quit()
index 0d2533aeac2577a2736f3b0e9074a3b2f0af61df..ef30e5a79e1b1d2cfb80212578dcd9df62b54bec 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -27,7 +27,8 @@ DARK_BLUE = (0, 0, 139)
 DARK_ORANGE = (255, 140, 0)
 DARK_YELLOW = (255, 215, 0)
 DARK_PURPLE = (75, 0, 130)
-DARKEN = {RED: DARK_RED, ORANGE: DARK_ORANGE, YELLOW: DARK_YELLOW, GREEN: DARK_GREEN, BLUE: DARK_BLUE, PURPLE: DARK_PURPLE}
+DARKEN = {RED: DARK_RED, ORANGE: DARK_ORANGE, YELLOW: DARK_YELLOW, GREEN: DARK_GREEN, BLUE: DARK_BLUE,
+          PURPLE: DARK_PURPLE}
 LIGHTEN = {RED: ORANGE, ORANGE: YELLOW, YELLOW: GREEN, GREEN: BLUE, BLUE: PURPLE, PURPLE: RED}
 
 # commands