]> Skullheadx's Git Forge - fruit-ninja.git/commitdiff
balance + fruit sliced counter
authorSkullheadx <94652084+Skullheadx@users.noreply.github.com>
Fri, 2 Jun 2023 16:06:54 +0000 (12:06 -0400)
committerSkullheadx <94652084+Skullheadx@users.noreply.github.com>
Fri, 2 Jun 2023 16:06:54 +0000 (12:06 -0400)
bomb.py
effect.py
fruit.py
game.py
main.py
setup.py

diff --git a/bomb.py b/bomb.py
index 52209cde58db4d59b5af6ae560bc93ecc2dfe7da..35da62afb942f2f2704aa5fa67780423ba419be8 100644 (file)
--- a/bomb.py
+++ b/bomb.py
@@ -3,7 +3,7 @@ from fruit import Fruit
 
 
 class Bomb(Fruit):
-    RADIUS = 35
+    RADIUS = 55
 
     def draw(self, surf):
         pygame.draw.circle(surf, BLACK, self.position, self.RADIUS)
index 64324fef117c810ec3a7d1a69b466f96b5d1bf18..d6df147b593bb93732718ee18a5f7608498fdd0a 100644 (file)
--- a/effect.py
+++ b/effect.py
@@ -2,8 +2,8 @@ from setup import *
 
 
 class Effect:
-    LIFE_TIME = 1000
-    SPEED_RANGE = [550, 650]
+    LIFE_TIME = 750
+    SPEED_RANGE = [250, 350]
     RADIUS_RANGE = [0.25, 0.75]
 
     OUTLINE_WIDTH = 1
index 07af152878a2f4160b82a301ec190b5c3e18058d..fd0cf71603392d95e4f2f95dc4bd577582b91010 100644 (file)
--- a/fruit.py
+++ b/fruit.py
@@ -4,7 +4,7 @@ from setup import *
 
 
 class Fruit:
-    RADIUS_RANGE = [10,25]#[25, 50]
+    RADIUS_RANGE = [35 ,65]#[25, 50]
 
     HORIZONTAL_SPAWN_RANGE = [max(RADIUS_RANGE), WIDTH - max(RADIUS_RANGE)]
     VERTICAL_SPAWN_RANGE = [HEIGHT + max(RADIUS_RANGE), HEIGHT * 2 + max(RADIUS_RANGE)]
diff --git a/game.py b/game.py
index 9a8a4ee607a593748262cd601868de733941ae93..b27f13235ecbd88687cc4fe18b32ba88f2d14a0d 100644 (file)
--- a/game.py
+++ b/game.py
@@ -6,15 +6,16 @@ from effect import Effect
 
 
 class Game:
-    BOMB_CHANCE = 0
-    EFFECT_COUNT_PER_FRUIT = 50
+    BOMB_CHANCE = 0.1
+    EFFECT_COUNT_PER_FRUIT = 20
 
     def __init__(self):
         self.player = Player()
         self.fruits = [Fruit()]
         self.bombs = []
         self.effects = []
-        self.wave = 100
+        self.wave = 1
+        self.score = 0
 
 
     def update(self, delta):
@@ -39,6 +40,7 @@ class Game:
                 self.effects.append(Effect(hit.position, hit.radius, hit.color))
             if hit in self.fruits:
                 self.fruits.remove(hit)
+            self.score += 1
 
         for effect in self.effects:
             effect_status = effect.update(delta)
@@ -54,7 +56,7 @@ class Game:
                 self.bombs.remove(bomb)
 
         if len(self.fruits) == 0 and len(self.bombs) == 0:
-            self.wave += 50
+            self.wave += 1
             for i in range(self.wave):
                 if random.random() < self.BOMB_CHANCE:
                     self.bombs.append(Bomb())
@@ -70,3 +72,5 @@ class Game:
         for bomb in self.bombs:
             bomb.draw(surf)
         self.player.draw(surf)
+        text_surf = font.render(str(self.score), True, BLACK)
+        surf.blit(text_surf, (WIDTH - text_surf.get_width(), 0))
\ No newline at end of file
diff --git a/main.py b/main.py
index 4433359fc91336a0cb5d287fb3c65d6bcdd64ab6..f0fe7f1da28d9a6b890cd0ed71db2d39c4890a8f 100644 (file)
--- a/main.py
+++ b/main.py
@@ -11,6 +11,7 @@ while is_running:
     delta = clock.tick(FPS)
     status = scene.update(delta)
     scene.draw(screen)
+    screen.blit(font.render(f"FPS: {clock.get_fps():.2f}", True, BLACK), (0, 0))
     pygame.display.update()
 
     if status == COMMAND_EXIT:
@@ -18,4 +19,5 @@ while is_running:
     elif status == COMMAND_START:
         scene = Game()
 
+
 pygame.quit()
index ef30e5a79e1b1d2cfb80212578dcd9df62b54bec..0013c8d6c873c3f0d820461d36a217f83731941a 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -38,3 +38,6 @@ COMMAND_START = 1
 
 def lerp(start, end, weight):
     return weight * (end - start) + start
+
+
+font = pygame.font.SysFont("Arial", 50)
\ No newline at end of file