Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 23 августа 2025 13:16

Напиши мне игру где курица должна убегать от машин на пайтоне с помощью библиотеки пайгейм, скинь весь код

Ответ нейросети

23 августа 2025 13:16

Ниже — полный рабочий пример игры: курица убегает от машин. Реализовано на Python с использованием библиотеки Pygame без внешних файлов (рисуется простыми фигурами). Даны пояснения по шагам и сам код.

Что будет делать игра

  • Управляете курицей с помощью стрелок или WASD.
  • Машины появляются справа и движутся влево в разных дорожках.
  • Нужно избегать столкновений. За каждый проскользнувший мимо автомобиля объект даёт очки.
  • При столкновении игра заканчивается. Можно перезапустить, нажав R.

Пошаговое объяснение (что в коде происходит)

  • Инициализация Pygame и настройка окна и параметров игры.
  • Определение спавна машин: авто появляются на правом краю экрана в одной из заранее заданных дорожек и получают случайную скорость.
  • Управление курицей: с помощью клавиш можно двигать курицу по экрану в рамках границ.
  • Обновление объектов: машины движутся влево; если машина полностью ушла за левый край, она исчезает и счёт увеличивается.
  • Проверка столкновений: при пересечении курицы и машины считается столкновение — заканчиваем игру.
  • Отрисовка: рисуем небо, землю, дорожные линии, курицу и машины; выводим счёт и сообщение об окончании игры.
  • Возможность перезапуска: после проигрыша нажмите R.

Как запустить

  • Установите pygame: pip install pygame
  • Сохраните код в файл, например chicken_run.py
  • Запустите: python chicken_run.py

Полный код (полностью рабочий single-file пример)

import pygame
import random
import sys

# Константы игры
WIDTH, HEIGHT = 800, 600
FPS = 60

CHICKEN_W, CHICKEN_H = 50, 40
CAR_W, CAR_H = 90, 40

# Дорожки (y-координаты)
LANES_Y = [120, 200, 280, 360, 440, 520]

# Цвета
SKY = (135, 206, 235)
GROUND = (34, 139, 34)
YELLOW = (255, 223, 0)
BLACK = (0, 0, 0)
RED = (220, 20, 60)
ORANGE = (255, 140, 0)
WHITE = (255, 255, 255)

def draw_chicken(surf, rect):
    # Тело курицы
    pygame.draw.ellipse(surf, YELLOW, rect)
    # Зрительная деталь: клюв
    beak = [(rect.right, rect.centery - 4), (rect.right + 14, rect.centery), (rect.right, rect.centery + 4)]
    pygame.draw.polygon(surf, ORANGE, beak)
    # Глазик
    eye_x = rect.right - 8
    eye_y = rect.centery - 8
    pygame.draw.circle(surf, BLACK, (eye_x, eye_y), 3)

def main():
    pygame.init()
    screen = pygame.display.set_mode((WIDTH, HEIGHT))
    pygame.display.set_caption("Курица: убегай от машин")
    clock = pygame.time.Clock()

    font = pygame.font.SysFont(None, 36)
    big_font = pygame.font.SysFont(None, 72)

    # Игровой объект: курица
    chicken = pygame.Rect(100, HEIGHT // 2 - CHICKEN_H // 2, CHICKEN_W, CHICKEN_H)
    chicken_speed = 5

    # Список машин (объекты: rect + скорость)
    cars = []

    score = 0
    game_over = False

    # Таймер спавна машин
    SPAWN_EVENT = pygame.USEREVENT + 1
    pygame.time.set_timer(SPAWN_EVENT, 900)

    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                sys.exit()
            if event.type == SPAWN_EVENT and not game_over:
                # Спавн машины на правом краю в одной из дорожек
                y = random.choice(LANES_Y)
                rect = pygame.Rect(WIDTH, y, CAR_W, CAR_H)
                speed = random.randint(6, 12) + int(score * 0.2)  # скорость растёт с очками
                cars.append({'rect': rect, 'speed': speed})
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_r and game_over:
                    # Перезапуск игры
                    chicken.center = (100, HEIGHT // 2)
                    cars.clear()
                    score = 0
                    game_over = False

        keys = pygame.key.get_pressed()
        if not game_over:
            # Управление курицей
            if keys[pygame.K_LEFT] or keys[pygame.K_a]:
                chicken.x -= chicken_speed
            if keys[pygame.K_RIGHT] or keys[pygame.K_d]:
                chicken.x += chicken_speed
            if keys[pygame.K_UP] or keys[pygame.K_w]:
                chicken.y -= chicken_speed
            if keys[pygame.K_DOWN] or keys[pygame.K_s]:
                chicken.y += chicken_speed

            # Границы экрана
            chicken.clamp_ip(pygame.Rect(0, 0, WIDTH, HEIGHT))

            # Обновление машин
            for car in cars[:]:
                car['rect'].x -= car['speed']
                # Машина ушла за левый край — счёт за пройденную машину
                if car['rect'].right < 0:
                    cars.remove(car)
                    score += 1
                # Проверка столкновения
                if chicken.colliderect(car['rect']):
                    game_over = True

        # Рисование
        screen.fill(SKY)

        # Земля и линии
        pygame.draw.rect(screen, GROUND, (0, HEIGHT - 100, WIDTH, 100))
        for y in LANES_Y:
            pygame.draw.line(screen, WHITE, (0, y), (WIDTH, y), 1)

        # Курочка
        draw_chicken(screen, chicken)

        # Машины
        for car in cars:
            pygame.draw.rect(screen, RED, car['rect'])
            # Показательные покрышки
            pygame.draw.circle(screen, BLACK, (car['rect'].x + 15, car['rect'].centery + 8), 4)
            pygame.draw.circle(screen, BLACK, (car['rect'].right - 15, car['rect'].centery + 8), 4)

        # HUD
        score_text = font.render(f"Пройдено: {score}", True, WHITE)
        screen.blit(score_text, (10, 10))

        if game_over:
            go_text = big_font.render("Игра окончена! Нажмите R чтобы перезапустить", True, WHITE)
            screen.blit(go_text, (WIDTH // 2 - go_text.get_width() // 2, HEIGHT // 2 - 40))

        pygame.display.flip()
        clock.tick(FPS)

if __name__ == "__main__":
    main()

Если хочешь, могу адаптировать игру под конкретный уровень сложности (например, добавить ускорение машин с ростом счёта, добавлять мешающие препятствия, сделать анимации курицы, добавить звуки и т. д.). Также могу объяснить, как можно заменить примитивные фигуры на изображения спрайтов, если у тебя есть набор графики.

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

Похожие вопросы 15

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

Напиши мне игру где курица должна убегать от машин на пайтоне с помощью библиотеки пайгейм, скинь весь код
Ниже — полный рабочий пример игры: курица убегает от машин. Реализовано на Python с использованием библиотеки Pygame без внешних файлов (рисуется простыми фигурами). Даны пояснения по шагам и сам код. Что будет делать игра - Управляете курицей с помощью стрелок или WASD. - Машины появляются справа и движутся влево в разных дорожках. - Нужно избегать столкновений. За каждый проскользнувший мимо автомобиля объект даёт очки. - При столкновении игра заканчивается. Можно перезапустить, нажав R. Пошаговое объяснение (что в коде происходит) - Инициализация Pygame и настройка окна и параметров игры. - Определение спавна машин: авто появляются на правом краю экрана в одной из заранее заданных дорожек и получают случайную скорость. - Управление курицей: с помощью клавиш можно двигать курицу по экрану в рамках границ. - Обновление объектов: машины движутся влево; если машина полностью ушла за левый край, она исчезает и счёт увеличивается. - Проверка столкновений: при пересечении курицы и машины считается столкновение — заканчиваем игру. - Отрисовка: рисуем небо, землю, дорожные линии, курицу и машины; выводим счёт и сообщение об окончании игры. - Возможность перезапуска: после проигрыша нажмите R. Как запустить - Установите pygame: pip install pygame - Сохраните код в файл, например chicken_run.py - Запустите: python chicken_run.py Полный код (полностью рабочий single-file пример) ```python import pygame import random import sys # Константы игры WIDTH, HEIGHT = 800, 600 FPS = 60 CHICKEN_W, CHICKEN_H = 50, 40 CAR_W, CAR_H = 90, 40 # Дорожки (y-координаты) LANES_Y = [120, 200, 280, 360, 440, 520] # Цвета SKY = (135, 206, 235) GROUND = (34, 139, 34) YELLOW = (255, 223, 0) BLACK = (0, 0, 0) RED = (220, 20, 60) ORANGE = (255, 140, 0) WHITE = (255, 255, 255) def draw_chicken(surf, rect): # Тело курицы pygame.draw.ellipse(surf, YELLOW, rect) # Зрительная деталь: клюв beak = [(rect.right, rect.centery - 4), (rect.right + 14, rect.centery), (rect.right, rect.centery + 4)] pygame.draw.polygon(surf, ORANGE, beak) # Глазик eye_x = rect.right - 8 eye_y = rect.centery - 8 pygame.draw.circle(surf, BLACK, (eye_x, eye_y), 3) def main(): pygame.init() screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("Курица: убегай от машин") clock = pygame.time.Clock() font = pygame.font.SysFont(None, 36) big_font = pygame.font.SysFont(None, 72) # Игровой объект: курица chicken = pygame.Rect(100, HEIGHT // 2 - CHICKEN_H // 2, CHICKEN_W, CHICKEN_H) chicken_speed = 5 # Список машин (объекты: rect + скорость) cars = [] score = 0 game_over = False # Таймер спавна машин SPAWN_EVENT = pygame.USEREVENT + 1 pygame.time.set_timer(SPAWN_EVENT, 900) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() if event.type == SPAWN_EVENT and not game_over: # Спавн машины на правом краю в одной из дорожек y = random.choice(LANES_Y) rect = pygame.Rect(WIDTH, y, CAR_W, CAR_H) speed = random.randint(6, 12) + int(score * 0.2) # скорость растёт с очками cars.append({'rect': rect, 'speed': speed}) if event.type == pygame.KEYDOWN: if event.key == pygame.K_r and game_over: # Перезапуск игры chicken.center = (100, HEIGHT // 2) cars.clear() score = 0 game_over = False keys = pygame.key.get_pressed() if not game_over: # Управление курицей if keys[pygame.K_LEFT] or keys[pygame.K_a]: chicken.x -= chicken_speed if keys[pygame.K_RIGHT] or keys[pygame.K_d]: chicken.x += chicken_speed if keys[pygame.K_UP] or keys[pygame.K_w]: chicken.y -= chicken_speed if keys[pygame.K_DOWN] or keys[pygame.K_s]: chicken.y += chicken_speed # Границы экрана chicken.clamp_ip(pygame.Rect(0, 0, WIDTH, HEIGHT)) # Обновление машин for car in cars[:]: car['rect'].x -= car['speed'] # Машина ушла за левый край — счёт за пройденную машину if car['rect'].right < 0: cars.remove(car) score += 1 # Проверка столкновения if chicken.colliderect(car['rect']): game_over = True # Рисование screen.fill(SKY) # Земля и линии pygame.draw.rect(screen, GROUND, (0, HEIGHT - 100, WIDTH, 100)) for y in LANES_Y: pygame.draw.line(screen, WHITE, (0, y), (WIDTH, y), 1) # Курочка draw_chicken(screen, chicken) # Машины for car in cars: pygame.draw.rect(screen, RED, car['rect']) # Показательные покрышки pygame.draw.circle(screen, BLACK, (car['rect'].x + 15, car['rect'].centery + 8), 4) pygame.draw.circle(screen, BLACK, (car['rect'].right - 15, car['rect'].centery + 8), 4) # HUD score_text = font.render(f"Пройдено: {score}", True, WHITE) screen.blit(score_text, (10, 10)) if game_over: go_text = big_font.render("Игра окончена! Нажмите R чтобы перезапустить", True, WHITE) screen.blit(go_text, (WIDTH // 2 - go_text.get_width() // 2, HEIGHT // 2 - 40)) pygame.display.flip() clock.tick(FPS) if __name__ == "__main__": main() ``` Если хочешь, могу адаптировать игру под конкретный уровень сложности (например, добавить ускорение машин с ростом счёта, добавлять мешающие препятствия, сделать анимации курицы, добавить звуки и т. д.). Также могу объяснить, как можно заменить примитивные фигуры на изображения спрайтов, если у тебя есть набор графики.