Merge branch 'release/2.4a5'
This commit is contained in:
commit
0b6a6b51bb
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"game_name": "swimming-squid",
|
||||
"version": "2.4a4",
|
||||
"version": "2.4a5",
|
||||
"url": "https://github.com/PAIA-Playful-AI-Arena/swimming-squid",
|
||||
"description": "這是一個魷魚吃東西小遊戲,除了讓你熟習所有基本操作,也是 PAIA 的遊戲教學範例",
|
||||
"logo": [
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"time_to_play": 1800,
|
||||
"playground_size_w":700,
|
||||
"playground_size_h":600,
|
||||
"score_to_pass": 100,
|
||||
"food_1": 8,
|
||||
"food_2": 6,
|
||||
"food_3": 3,
|
||||
"garbage_1": 10,
|
||||
"garbage_2": 8,
|
||||
"garbage_3": 4
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"time_to_play": 1800,
|
||||
"playground_size_w":700,
|
||||
"playground_size_h":600,
|
||||
"score_to_pass": 100,
|
||||
"food_1": 5,
|
||||
"food_2": 4,
|
||||
"food_3": 3,
|
||||
"garbage_1": 10,
|
||||
"garbage_2": 8,
|
||||
"garbage_3": 4
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"time_to_play": 1800,
|
||||
"playground_size_w":700,
|
||||
"playground_size_h":600,
|
||||
"score_to_pass": 100,
|
||||
"food_1": 5,
|
||||
"food_2": 4,
|
||||
"food_3": 3,
|
||||
"garbage_1": 12,
|
||||
"garbage_2": 10,
|
||||
"garbage_3": 4
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"time_to_play": 1800,
|
||||
"playground_size_w":700,
|
||||
"playground_size_h":600,
|
||||
"score_to_pass": 100,
|
||||
"food_1": 8,
|
||||
"food_2": 6,
|
||||
"food_3": 3,
|
||||
"garbage_1": 14,
|
||||
"garbage_2": 12,
|
||||
"garbage_3": 5
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"time_to_play": 1800,
|
||||
"playground_size_w":700,
|
||||
"playground_size_h":600,
|
||||
"score_to_pass": 100,
|
||||
"food_1": 6,
|
||||
"food_2": 5,
|
||||
"food_3": 3,
|
||||
"garbage_1": 14,
|
||||
"garbage_2": 12,
|
||||
"garbage_3": 5
|
||||
}
|
61
src/foods.py
61
src/foods.py
|
@ -87,6 +87,7 @@ class Food2(Food):
|
|||
self._vel = -FOOD2_VEL
|
||||
self.image_id = IMG_ID_FOOD02_L
|
||||
|
||||
|
||||
class Food3(Food):
|
||||
def __init__(self, group):
|
||||
super().__init__(group, FoodTypeEnum.FOOD_3, IMG_ID_FOOD03_L, [FOOD_LV3_SIZE, FOOD_LV3_SIZE], 4)
|
||||
|
@ -105,58 +106,50 @@ class Food3(Food):
|
|||
elif self.rect.right > playground.right and self._vel > 0.0:
|
||||
self._vel = -FOOD3_VEL
|
||||
self.image_id = IMG_ID_FOOD03_L
|
||||
class Garbage1(Food):
|
||||
def __init__(self, group):
|
||||
super().__init__(group, FoodTypeEnum.GARBAGE_1, "garbage01",
|
||||
[FOOD_LV1_SIZE, FOOD_LV1_SIZE], -1)
|
||||
|
||||
|
||||
class Garbage(Food):
|
||||
def __init__(self, group, type: FoodTypeEnum, image_id: str, image_size: list, score):
|
||||
super().__init__(group, type, image_id, image_size, score)
|
||||
self._vel = FOOD1_VEL
|
||||
self._bias_x_list = [-0.5, -0.7, -1, -1.3, 0, 1, 1.3, 0.3, 0.5, 0.7]
|
||||
|
||||
def update(self, playground: Rect, squid: pygame.sprite.Sprite):
|
||||
self.rect_float_x += random.choice([-0.3, -0.5, -0.7, 0, 0.3, 0.5, 0.7])
|
||||
self.rect_float_x += random.choice(self._bias_x_list)
|
||||
self.rect_float_y += self._vel
|
||||
self.rect.centerx = self.rect_float_x
|
||||
self.rect.centery = self.rect_float_y
|
||||
|
||||
self._move_to_new_position(playground)
|
||||
def _move_to_new_position(self, playground):
|
||||
if self.rect.top > playground.bottom:
|
||||
self.rect.y = playground.top
|
||||
self.rect.bottom = playground.top
|
||||
self.rect_float_y = self.rect.centery
|
||||
self.rect_float_x = random.randint(playground.left, playground.right)
|
||||
self.rect.centerx = self.rect_float_x
|
||||
|
||||
pass
|
||||
|
||||
|
||||
class Garbage2(Food):
|
||||
class Garbage2(Garbage):
|
||||
def __init__(self, group):
|
||||
super().__init__(group, FoodTypeEnum.GARBAGE_2, "garbage02",
|
||||
[FOOD_LV2_SIZE, FOOD_LV2_SIZE], -4)
|
||||
self._vel = FOOD2_VEL
|
||||
|
||||
def update(self, playground: Rect, squid: pygame.sprite.Sprite):
|
||||
self.rect_float_x += random.choice([-0.5, -0.7, -1, -1.3, 0, 1, 1.3, 0.3, 0.5, 0.7])
|
||||
self.rect_float_y += self._vel
|
||||
self.rect.centerx = self.rect_float_x
|
||||
self.rect.centery = self.rect_float_y
|
||||
|
||||
if self.rect.top > playground.bottom:
|
||||
self.rect.y = playground.top
|
||||
self.rect_float_y = self.rect.centery
|
||||
|
||||
pass
|
||||
self._bias_x_list = [-0.5, -0.7, -1, -1.3, 0, 1, 1.3, 0.3, 0.5, 0.7]
|
||||
|
||||
|
||||
class Garbage3(Food):
|
||||
|
||||
class Garbage1(Garbage):
|
||||
def __init__(self, group):
|
||||
super().__init__(group, FoodTypeEnum.GARBAGE_1, "garbage01",
|
||||
[FOOD_LV1_SIZE, FOOD_LV1_SIZE], -1)
|
||||
self._vel = FOOD1_VEL
|
||||
self._bias_x_list = [-0.3, -0.5, -0.7, 0, 0.3, 0.5, 0.7]
|
||||
|
||||
|
||||
class Garbage3(Garbage):
|
||||
def __init__(self, group):
|
||||
super().__init__(group, FoodTypeEnum.GARBAGE_3, "garbage03",
|
||||
[FOOD_LV3_SIZE, FOOD_LV3_SIZE], -10)
|
||||
self._vel = FOOD1_VEL
|
||||
|
||||
def update(self, playground: Rect, squid: pygame.sprite.Sprite):
|
||||
self.rect_float_x += random.choice([-0.7, -1, -1.3, -1.7, 0, 1.7, 1, 1.3, 0.3, 0.7])
|
||||
self.rect_float_y += self._vel
|
||||
self.rect.centerx = self.rect_float_x
|
||||
self.rect.centery = self.rect_float_y
|
||||
|
||||
if self.rect.top > playground.bottom:
|
||||
self.rect.y = playground.top
|
||||
self.rect_float_y = self.rect.centery
|
||||
|
||||
pass
|
||||
self._vel = FOOD3_VEL
|
||||
self._bias_x_list = [-0.7, -1, -1.3, -1.7, 0, 1.7, 1, 1.3, 0.3, 0.7]
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
import math
|
||||
|
||||
from typing import List
|
||||
|
||||
import pydantic
|
||||
import pygame.sprite
|
||||
|
||||
|
|
Loading…
Reference in New Issue