/
Dragon925
/
Python-Graphics
Обзор
Документация
Войти
/
Dragon925
/
Python-Graphics
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
lesson_31
creation.py
46 строк
2 KB
Alexandr Romanov
Пример выполнения задания 9
22 май 2025, 19:56
22 май 2025, 19:56
f1ddbf1
Код
Авторство
О чём код?
from classes import Cloud, Dino, Ground, Obstacle from random import randint CLOUD_IMAGE_PATH = "images/world/cloud.png" DINO_1_IMAGE_PATH = "images/dino/dino_1.png" DINO_2_IMAGE_PATH = "images/dino/dino_2.png" DINO_3_IMAGE_PATH = "images/dino/dino_3.png" DINO_4_IMAGE_PATH = "images/dino/dino_4.png" DINO_JUMP_SOUND_PATH = "music/jump_sound.ogg" DINO_LANDING_SOUND_PATH = "music/landing_sound.ogg" DINO_CRASH_SOUND_PATH = "music/crash_sound.ogg" GROUND_IMAGE_PATH = "images/world/ground.png" OBSTACLES_FILE_PATH = "images/enemies/cactus_" def create_clouds(count: int, min_speed: int, max_speed: int, width: int, height: int) -> list[Cloud]: speed = randint(min_speed, max_speed) return [Cloud(CLOUD_IMAGE_PATH, width, height, speed) for _ in range(count)] def create_dino(width: int, height: int, max_speed: int, max_d: int | float) -> Dino: x, y = width // 10, height * 2 // 3 return Dino(x, y, [DINO_1_IMAGE_PATH, DINO_2_IMAGE_PATH], [DINO_3_IMAGE_PATH, DINO_4_IMAGE_PATH], max_speed, max_d, DINO_JUMP_SOUND_PATH, DINO_LANDING_SOUND_PATH, DINO_CRASH_SOUND_PATH) def create_ground(y: int, speed: int) -> Ground: return Ground(y, GROUND_IMAGE_PATH, speed) def create_obstacles(count: int, x: int, y: int, file_path: str, speed: int) -> list[Obstacle]: return [Obstacle(x, y, f"{file_path}{i}.png", speed) for i in range(1, count + 1)] def create_world( width: int, height: int, dino_max_speed: int, dino_max_d: int | float, ground_speed: int, clouds_count: int, cloud_min_speed: int, cloud_max_speed: int, obstacles_count: int, obstacles_speed: int ) -> tuple[Dino, Ground, list[Cloud], list[Obstacle]]: dino = create_dino(width, height, dino_max_speed, dino_max_d) ground = create_ground(dino.rect.bottom - 20, ground_speed) clouds = create_clouds(clouds_count, cloud_min_speed, cloud_max_speed, width, height) obstacles = create_obstacles(obstacles_count, width, dino.rect.bottom, OBSTACLES_FILE_PATH, obstacles_speed) return dino, ground, clouds, obstacles