Легенда

В компании «Инкилевич и сыновья» проходят постоянные соревнования между коллегами для укрепления корпоративного духа. Работают в основном IT-специалисты со сложными задачами. Им хочется простую по механике игру, в которой они могли бы разгрузить мозг и посоревноваться друг с другом.

Цель

Создание игры крестики-нолики.

Задача

Необходимо создать базовый интерфейс самой игры, прописать всю её механику, добавить реальных игроков, компьютерного игрока простой сложности, компьютерного игрока сложной сложности, добавить тесты, провести турнир между разными игроками и собрать статистику.

Инструменты

  1. JComponent — класс в Java для реализации графических визуализаций.
  2. JUnit — фреймворк для тестирования на Java.
  3. Java core — базовый функционал Java, который позволит нам создать игру. Включает: Exceptions, Collections, OOP, Random, Scanner, PrintWriter.

Этапы

<aside> 1️⃣ ЭТАП 1 — СОЗДАНИЕ БАЗОВОЙ МОДЕЛИ ИГРЫ.

</aside>

  1. Создаём класс Board, который будет отвечать за состояние доски.
  2. Создаём интерфейс Player, который будет описывать возможности игрока.
  3. Создаём реализации нескольких Players (HumanPlayer — реальный человек, различные AIPlayers — разные искусственные интеллекты) .
  4. Создаём основной класс, в котором будет проходить игра и в котором будут осуществляться взаимодействия всех сущностей.

<aside> 2️⃣ ЭТАП 2 — РЕАЛИЗАЦИЯ «МОЗГА» ИГРЫ.

</aside>

  1. Придумываем способ хранения игровых ячеек в классе Board (можно с помощью массива или любой подходящей коллекции).