From 90d55cef6b417abd6ee3c9aaed77ca2fc326cdbd Mon Sep 17 00:00:00 2001 From: Kylin_on_Mac Date: Thu, 12 Oct 2023 17:11:32 +0800 Subject: [PATCH] fix:add lower bound of size and vel --- src/env.py | 2 ++ src/game_object.py | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/env.py b/src/env.py index be423c8..b225bfe 100644 --- a/src/env.py +++ b/src/env.py @@ -17,7 +17,9 @@ BALL_GROWTH_SCORE_STEP = 15 BALL_GROWTH_SIZE_STEP=10 BALL_GROWTH_VEL_STEP=3 BALL_SIZE_MAX = 100 +BALL_SIZE_MIN = 10 BALL_VEL_MAX = 25 +BALL_VEL_MIN = 10 # food class FoodTypeEnum(StringEnum): diff --git a/src/game_object.py b/src/game_object.py index 252287e..1cffc6b 100644 --- a/src/game_object.py +++ b/src/game_object.py @@ -3,7 +3,7 @@ import math import pygame.sprite from games.easy_game.src.env import BALL_COLOR, BALL_VEL, BALL_H, BALL_W, BALL_GROWTH_SCORE_STEP, BALL_GROWTH_SIZE_STEP, \ - BALL_SIZE_MAX, BALL_GROWTH_VEL_STEP, BALL_VEL_MAX + BALL_SIZE_MAX, BALL_GROWTH_VEL_STEP, BALL_VEL_MAX, BALL_SIZE_MIN, BALL_VEL_MIN from games.easy_game.src.foods import Food from games.easy_game.src.sound_controller import SoundController from mlgame.view.view_model import create_rect_view_data @@ -54,9 +54,9 @@ class Ball(pygame.sprite.Sprite): def eat_food_and_change_level_and_play_sound(self, food: Food,sound_controller:SoundController): self._score += food.score new_lv = math.ceil((self._score + 1) / BALL_GROWTH_SCORE_STEP) - self.rect.width = min(BALL_W + new_lv * BALL_GROWTH_SIZE_STEP, BALL_SIZE_MAX) - self.rect.height = min(BALL_H + new_lv * BALL_GROWTH_SIZE_STEP, BALL_SIZE_MAX) - self._vel = min(BALL_VEL + new_lv * BALL_GROWTH_VEL_STEP, BALL_VEL_MAX) + self.rect.width = max(BALL_SIZE_MIN,min(BALL_W + new_lv * BALL_GROWTH_SIZE_STEP, BALL_SIZE_MAX)) + self.rect.height = max(BALL_SIZE_MIN,min(BALL_H + new_lv * BALL_GROWTH_SIZE_STEP, BALL_SIZE_MAX)) + self._vel = max(BALL_VEL_MIN,min(BALL_VEL + new_lv * BALL_GROWTH_VEL_STEP, BALL_VEL_MAX)) if new_lv > self._lv: sound_controller.play_lv_up() elif new_lv < self._lv: