Тема  8. Пример: крестики-нолики

Содержание

  1. Игрок
    1. Интерфейс
    2. Случайный
    3. Последовательный
    4. Живой
  2. Доска
    1. Интерфейс игрока
    2. Интерфейс игры
    3. Реализация
  3. Игра
    1. Игроки и ходы
    2. Результаты
    3. Реализация

Примеры

zip

Домашнее задание 11. Игра m,n,k

В этом домашнем задании вы можете пользоваться кодом, написанным на лекции. Он есть на сайте курса.

  1. Реализуйте игру m,n,k (k в ряд на доске m×n).
  2. Добавьте обработку ошибок ввода пользователя. В случае ошибочного хода пользователь должен иметь возможность сделать другой ход.
  3. Добавьте обработку ошибок игроков. В случае ошибки игрок автоматически проигрывает.
  4. Простая версия. Доска может производить обработку хода за O(nmk).
  5. Сложная версия.
    • Доска должна производить обработку хода (проверку корректности, изменение состояния и определение результата) за O(k).
    • Предотвратите жульничество: у игрока не должно быть возможности достать Board из Position.
  6. Бонусная версия. Реализуйте Winner — игрок, который выигрывает всегда, когда это возможно (против любого соперника).
  7. Код должен находиться в пакете game.

Экзаменационные вопросы

  1. Пример гибкого дизайна на основе ООП

Практические навыки

  1. Умение модифицировать существующие ОО-приложения