Skip to content

acdemeg/HeroesGameProject

Repository files navigation

Heroes Game

Репозиторий содержит игру "Герои" которая представляет из себе аватарку популярной игры Disciples. Играть могут как люди так и боты, также бот против человека и бот против бота, бот играет не оптимально(делает рандомные ходы из доступных).

Игра сделана как клиент-сервер, отдельно запускается Server и отдельно четное кол-во клиентов(Client) - пакет simpleSockets. Клиенты распределяются в игровые комнаты(GameRoom) по 2 в каждую, настройки сервера игры такие как макс. кол-во игроков, макс. кол-во комнат, макс.время ответа и т.д. содержатся в server.properties файле. В пакете additional содержатся доп. модули для сбора и анализ статистики игр между игроками/ботами. Диаграмма классов(uml) проекта - heroesGameDiagram.

Более подробное описание правил игры

Презентация с описанием игры

Для игры есть "умный бот" который содержит ИИ реализующее 2 игровые стратегии - https://github.com/acdemeg/Hero_Game_Project_SmartBot .

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

Вариант 1

  1. В пакете simpleSockets запустить Server
  2. Запустить Client, ввести имя и выбрать режим
  3. В конфигурация запуска должно быть разрешение на параллельный запуск Client, запускаем второго и последующего клиентов

Вариант 2 (С "умным ботом")

  1. Собрать проект mvn package
  2. Запустить Heroes_Game-1.0.jar
  3. Собрать проект Hero_Game_Project_SmartBot
  4. Запустить Heroes_Game-1.0.jar внутри Hero_Game_Project_SmartBot
  5. Либо запустить Client внутри Heroes_Game

Технологии

Игра была создана с использованием Java 11+, jUnit 4, Swing, Jackson Framework, Maven, Opencsv, Lanterna, Slf4J, Logback, JMathPlot.

Архитектура

Скриншоты

Начало игры

Процесс игры

Пример лога игры

Пример файла статистики игр

About

Client-Server game app simulating heroes battle!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages