refac: update level file

This commit is contained in:
Kylin_on_Mac 2023-10-10 23:25:54 +08:00
parent a6fcbbe55f
commit 46e655930d
11 changed files with 70 additions and 28 deletions

View File

@ -5,6 +5,6 @@
300
],
"score_to_pass": 15,
"green_food_count": [10,0,0],
"black_food_count": [0,0,0]
"green_food_count": [6,0,0],
"black_food_count": [2,0,0]
}

View File

@ -5,6 +5,6 @@
300
],
"score_to_pass": 15,
"green_food_count": [7,0,0],
"black_food_count": [3,0,0]
"green_food_count": [8,0,0],
"black_food_count": [4,0,0]
}

View File

@ -5,6 +5,6 @@
300
],
"score_to_pass": 15,
"green_food_count": [7,0,0],
"black_food_count": [7,0,0]
"green_food_count": [8,3,0],
"black_food_count": [4,0,0]
}

View File

@ -5,6 +5,6 @@
400
],
"score_to_pass": 15,
"green_food_count": [7,0,0],
"black_food_count": [10,0,0]
"green_food_count": [8,4,0],
"black_food_count": [5,2,0]
}

View File

@ -5,6 +5,6 @@
400
],
"score_to_pass": 20,
"green_food_count": [7,0,0],
"black_food_count": [13,0,0]
"green_food_count": [8,4,2],
"black_food_count": [4,4,0]
}

View File

@ -5,6 +5,6 @@
500
],
"score_to_pass": 20,
"green_food_count": [10,0,0],
"black_food_count": [15,0,0]
"green_food_count": [6,4,2],
"black_food_count": [6,4,2]
}

View File

@ -5,6 +5,6 @@
500
],
"score_to_pass": 25,
"green_food_count": [15,0,0],
"black_food_count": [30,0,0]
"green_food_count": [10,5,3],
"black_food_count": [12,7,4]
}

View File

@ -5,6 +5,6 @@
600
],
"score_to_pass": 25,
"green_food_count": [20,0,0],
"black_food_count": [40,0,0]
"green_food_count": [12,8,4],
"black_food_count": [25,10,5]
}

View File

@ -32,6 +32,9 @@ FOOD_COLOR_MAP = {
FoodTypeEnum.BAD_2: "#FF1744",
FoodTypeEnum.BAD_3: "#FF1744"
}
FOOD_LV1_SIZE = 8
FOOD_LV2_SIZE = 12
FOOD_LV3_SIZE = 16
# path of assets
ASSET_PATH = path.join(path.dirname(__file__), "..", "asset")

View File

@ -1,6 +1,6 @@
import pygame.sprite
from games.easy_game.src.env import FoodTypeEnum, FOOD_COLOR_MAP
from games.easy_game.src.env import FoodTypeEnum, FOOD_COLOR_MAP, FOOD_LV1_SIZE, FOOD_LV2_SIZE, FOOD_LV3_SIZE
from mlgame.view.view_model import create_rect_view_data
@ -33,20 +33,60 @@ class Food(pygame.sprite.Sprite):
class GoodFoodLv1(Food):
def __init__(self, group):
super().__init__(group)
self.image = pygame.Surface([8, 8])
self.image = pygame.Surface([FOOD_LV1_SIZE, FOOD_LV1_SIZE])
self.type = FoodTypeEnum.GOOD_1
self.color = FOOD_COLOR_MAP[self.type]
self.score = 1
self.rect = self.image.get_rect()
self.angle = 0
class GoodFoodLv2(Food):
def __init__(self, group):
super().__init__(group)
self.image = pygame.Surface([FOOD_LV2_SIZE, FOOD_LV2_SIZE])
self.type = FoodTypeEnum.GOOD_2
self.color = FOOD_COLOR_MAP[self.type]
self.score = 2
self.rect = self.image.get_rect()
class GoodFoodLv3(Food):
def __init__(self, group):
super().__init__(group)
self.image = pygame.Surface([FOOD_LV3_SIZE, FOOD_LV3_SIZE])
self.type = FoodTypeEnum.GOOD_3
self.color = FOOD_COLOR_MAP[self.type]
self.score = 4
self.rect = self.image.get_rect()
class BadFoodLv1(Food):
def __init__(self, group):
super().__init__(group)
self.image = pygame.Surface([8, 8])
self.image = pygame.Surface([FOOD_LV1_SIZE, FOOD_LV1_SIZE])
self.type = FoodTypeEnum.BAD_1
self.color = FOOD_COLOR_MAP[self.type]
self.score = -1
self.rect = self.image.get_rect()
self.angle = 0
class BadFoodLv2(Food):
def __init__(self, group):
super().__init__(group)
self.image = pygame.Surface([FOOD_LV2_SIZE, FOOD_LV2_SIZE])
self.type = FoodTypeEnum.BAD_2
self.color = FOOD_COLOR_MAP[self.type]
self.score = -2
self.rect = self.image.get_rect()
class BadFoodLv3(Food):
def __init__(self, group):
super().__init__(group)
self.image = pygame.Surface([FOOD_LV3_SIZE, FOOD_LV3_SIZE])
self.type = FoodTypeEnum.BAD_3
self.color = FOOD_COLOR_MAP[self.type]
self.score = -4
self.rect = self.image.get_rect()

View File

@ -9,7 +9,7 @@ from mlgame.utils.enum import get_ai_name
from mlgame.view.decorator import check_game_progress, check_game_result
from mlgame.view.view_model import *
from .env import *
from .foods import GoodFoodLv1, BadFoodLv1
from .foods import *
from .game_object import Ball
from .sound_controller import SoundController
@ -83,11 +83,11 @@ class EasyGame(PaiaGame):
# todo validate food count
self._create_foods(GoodFoodLv1, self._green_food_count[0])
# self._create_foods(GoodFoodLv1, self._green_food_count[1])
# self._create_foods(GoodFoodLv1, self._green_food_count[2])
self._create_foods(GoodFoodLv2, self._green_food_count[1])
self._create_foods(GoodFoodLv3, self._green_food_count[2])
self._create_foods(BadFoodLv1, self._red_food_count[0])
# self._create_foods(BadFoodLv1, self._red_food_count[1])
# self._create_foods(BadFoodLv1, self._red_food_count[2])
self._create_foods(BadFoodLv2, self._red_food_count[1])
self._create_foods(BadFoodLv3, self._red_food_count[2])
self.frame_count = 0
self._frame_count_down = self._frame_limit
@ -126,10 +126,9 @@ class EasyGame(PaiaGame):
for food in hits:
self.score += food.score
self._create_foods(food.__class__, 1)
# TODO add food score to function
if isinstance(food, (GoodFoodLv1,)):
if isinstance(food, (GoodFoodLv1,GoodFoodLv2,GoodFoodLv3,)):
self.sound_controller.play_eating_good()
elif isinstance(food, (BadFoodLv1,)):
elif isinstance(food, (BadFoodLv1,BadFoodLv2,BadFoodLv3,)):
self.sound_controller.play_eating_bad()
def get_data_from_game_to_player(self):