Skip to content

Умная игра в крестики нолики на Java

License

Notifications You must be signed in to change notification settings

AlexH73/TicTacToe_Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Умные Крестики-Нолики на Java

Описание

Этот проект представляет собой реализацию классической игры "Крестики-нолики" на языке Java. Основной целью проекта является создание не просто игры, а интеллектуального противника (бота), который использует продвинутые алгоритмы для принятия решений. В отличие от большинства реализаций, бот будет не просто выбирать случайную клетку, а анализировать все возможные ходы, чтобы максимизировать свои шансы на победу.

Основные цели проекта

  • Создание интеллектуального бота: Реализация алгоритма Minimax (с возможностью использования Alpha-Beta Pruning) для создания умного бота, который сможет играть на высоком уровне.
  • Гибкость и расширяемость: Проектирование кода с использованием принципов объектно-ориентированного программирования для обеспечения возможности добавления новых функций и модификации алгоритмов.
  • Постепенное развитие: Начиная с базовой текстовой версии, постепенно двигаться к созданию графического интерфейса (GUI), сетевой игры и других возможностей.
  • Увлекательный геймплей: Создание игры, которая будет интересна как новичкам, так и опытным игрокам.

Текущий функционал

  • Реализация игрового поля 3x3.
  • Возможность для пользователя делать ходы, вводя координаты клеток.
  • Бот, который пока что делает случайные ходы.
  • Проверка победителя и ничьи.
  • Текстовый интерфейс.

Планируемые шаги

  1. Реализация алгоритма Minimax для бота:

    • Разработка базового алгоритма Minimax для выбора оптимальных ходов.
    • Оптимизация алгоритма с использованием Alpha-Beta Pruning.
    • Внедрение эвристических правил для оценки позиций на доске.
  2. Улучшение интерфейса и взаимодействия:

    • Создание более удобного текстового интерфейса.
    • Возможность выбора уровня сложности бота.
  3. Структурирование проекта:

    • Разделение проекта на классы: GameMap, Player, Bot, GameLogic, UI.
    • Использование интерфейсов для определения поведения игроков.
    • Написание юнит-тестов для проверки работоспособности каждой части кода.
  4. Дальнейшее развитие:

    • Создание графического интерфейса пользователя (GUI).
    • Реализация сетевой игры.
    • Исследование и применение более сложных методов машинного обучения для создания еще более сильного бота.

Как внести свой вклад

Если вы хотите принять участие в развитии этого проекта, пожалуйста, свяжитесь со мной. Мы будем рады вашей помощи и идеям!

Контакты

[ewebotah@gmail.com] [https://github.com/AlexH73]

About

Умная игра в крестики нолики на Java

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages