Skip to content

Гоночная игра — это классическая 2D игра. Включает в себя различные уровни сложности, звуковые эффекты, дополнитьлные опции: рекорды, кастомизация транспорта.

Notifications You must be signed in to change notification settings

Dashulik10/TrafficRacerJava

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚗 Гоночная Игра на JavaFX

Добро пожаловать в Гоночную Игру, которая реализована с использованием JavaFX. Это увлекательный проект, где игрок управляет автомобилем, избегая препятствий и стремясь набрать как можно больше очков. Игра поддерживает различные режимы сложности, визуальные эффекты, анимации, а также инструменты для записи результатов.


📋 Оглавление

  1. Описание проекта
  2. Особенности
  3. Требования
  4. Установка и запуск
  5. Структура проекта
  6. Документация основных функций

📖 Описание проекта

Гоночная игра — это классическая 2D игра, в которой игроку предоставляется возможность управлять автомобилем, избегая столкновений с другими машинами на дороге. Главная цель — набрать максимальное количество очков, удерживая высокую скорость и избегая препятствий.


✨ Особенности

  • Реализация игрового цикла с использованием AnimationTimer.
  • 🎶 Звуковые эффекты для событий (например, столкновения, завершения игры).
  • 💥 Визуальные эффекты взрыва при столкновении.
  • 📊 Отображение статистики для игрока (очки, скорость, время).
  • Поддержка разных уровней сложности (через класс DifficultyMode).
  • Система записи рекордов с проверкой нового результата.
  • Адаптивный дизайн интерфейса на основе JavaFX.

💻 Требования

Для запуска игры:

  • JDK версии 17+: Установить JDK
  • Maven (для сборки и управления проектом).
  • Операционная система: Windows, macOS или любая Linux-система.

🚀 Установка и запуск

Следуйте этим инструкциям, чтобы запустить проект на локальной машине.

1. Клонирование репозитория

Сначала клонируйте репозиторий игры:

git clone https://github.com/username/game-project.git
cd game-project

2. Сборка проекта

Если у вас установлен Maven, выполните в терминале:

mvn clean package

3. Запуск проекта

После сборки выполните:

java -jar target/game-project.jar

Игра запустится, и вы готовы начать играть! 🎉


📂 Структура проекта

Проект организован следующим образом:

├── src/main/java/
│   ├── application/                # Основной пакет приложения
│   │   ├── GameApplication.java    # Класс для запуска приложения
│   │   ├── controllers/            # Контроллеры для взаимодействия с интерфейсом
│   │   ├── models/                 # Игровая логика, модели данных
│   │   └── utils/                  # Утилиты (звуковое управление, эффекты, загрузчики)
│   ├── resources/                  # Ресурсы игры (изображения, звуки)
│   │   ├── images/                 # Визуальные элементы
│   │   ├── sounds/                 # Звуковые файлы
│   │   └── fxml/                   # Файлы интерфейса
├── src/test/java/                  # Тесты для проекта
├── README.md                       # Документация проекта
└── pom.xml                         # Maven-конфигурация

📝 Документация основных функций

1. Игровой цикл

Метод, отвечающий за управление игровым процессом:

private void setupGameAnimation(Scene scene) {
    timer = new AnimationTimer() {
        @Override
        public void handle(long now) {
            // Обновление игрового состояния каждые 1 / 60 секунд (FPS = 60).
        }
    };
    timer.start();
}

2. Обработка столкновений

  • Проверка столкновений между машиной игрока и препятствиями:
private void checkCollisions() {
    for (Car obstacle : obstacles) {
        if (playerCar.getShape().getBoundsInParent().intersects(obstacle.getShape().getBoundsInParent())) {
            endGame(obstacle);
        }
    }
}
  • Завершение игры:
private void endGame(Car collidedCar) throws IOException {
    // Анимация взрыва + сохранение результата.
    showExplosion(x, y, width, height); 
    System.out.println("Игра завершена!");
}

3. Движение дороги

Реализация бесконечного движения фона с имитацией дороги:

private void moveBackground() {
    road1.setLayoutY(road1.getLayoutY() + roadSpeed);
    road2.setLayoutY(road2.getLayoutY() + roadSpeed);
    if (road1.getLayoutY() >= 800) road1.setLayoutY(road2.getLayoutY() - 800);
}

About

Гоночная игра — это классическая 2D игра. Включает в себя различные уровни сложности, звуковые эффекты, дополнитьлные опции: рекорды, кастомизация транспорта.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy