Exemplo n.º 1
0
def update_food(settings, stats, screen, snake_head, snake_parts, foods):
    # 生成食物
    while len(foods) < settings.food_limit and not check_bonus_food(foods):
        food = Food(screen, settings)
        food.random_pos(snake_head, snake_parts, foods)

        # 变大?
        if len(foods) == settings.food_limit - 1 and not check_big_food(foods):
            if randint(1, settings.big_food_chance) == 1:
                food.become_big(snake_head, snake_parts, foods)
        foods.add(food)

        # 产生bonus?
        if check_bonus(settings, food, foods):
            stats.bonus = True

    # 加载大食物的countdown
    for food in foods:
        if food.style == 'big':
            food.update_countdown()
            if food.existing_time > 9:
                foods.remove(food)
            break