В этом домашнем задании вы можете пользоваться кодом, написанным на лекции. Он есть на сайте курса.
- Реализуйте игру m,n,k (k в ряд на доске m×n).
- Добавьте обработку ошибок ввода пользователя. В случае ошибочного хода пользователь должен иметь возможность сделать другой ход.
- Добавьте обработку ошибок игроков. В случае ошибки игрок автоматически проигрывает.
- Простая версия. Доска может производить обработку хода за O(nmk).
- Сложная версия.
- Доска должна производить обработку хода (проверку корректности, изменение состояния и определение результата) за O(k).
- Предотвратите жульничество: у игрока не должно быть возможности достать
Board
изPosition
.
- Бонусная версия. Реализуйте
Winner
— игрок, который выигрывает всегда, когда это возможно (против любого соперника).