Exemplo n.º 1
0
def bonus(settings, screen, stats, snake_head, snake_parts, foods):
    # 加分
    stats.score += settings.bonus_points * stats.level

    # 清空食物,并增加bonus样式的食物
    foods.empty()
    while len(foods) < settings.bonus_food:
        food = Food(screen, settings)
        food.random_pos(snake_head, snake_parts, foods)
        food.bonus_mode()
        foods.add(food)

    # 将蛇长度缩短
    if stats.snake_length > settings.bonus_cut_length:
        stats.snake_length -= settings.bonus_cut_length
    else:
        stats.snake_length = 1

    for part in snake_parts.copy():
        if not part.check_alive(stats.snake_length):
            snake_parts.remove(part)