Крестики-нолики
Закачайте дистрибутив игры, распакуйте. В нем два основных файла: runner.py, tictactoe.py. runner.py был уже создан для вас, он содержит код, создающий графический интерфейс игры. tictactoe.py содержит логику игры, вам надо закончить определение необходимых функции. После этого выполните в терминале python runner.py, чтобы запустить игру.
Шаги выполнения
- Зайдите на https://cs50.dev.
-
Загрузите дистрибутив.
wget https://cs204.github.io/psets/data/tictactoe.zip -
Распакуйте.
unzip tictactoe.zip -
Сделайте папку tictactoe рабочей.
cd tictactoe -
Установите необходимые пакеты.
pip3 install -r requirements.txt - Завершите реализацию player, actions, result, winner, terminal, utility, minimax.
Пояснения
- player для заданного состояния возвращает, кто ходит X или O. Начинают игру X.
- action для заданного состояния игры должна возвращать set (множество) возможных действий. Каждое действие должно быть представлено как (i, j), i- строка и j - столбец пустой ячейки.
- result для состояния и действия, возвращает новое состояние, не изменяет входное. Создаём копию входного состояние, в указанную действием ячейку помещаем знак ходящего игрока. Для создания копии используйте команду copy.deepcopy.
- winner для заданного состояния возвращает победителя, если есть. Если X игрок победил, возвращает X. Если победил O, возвращает O. Победит тот, кто сделает три хода в строке, столбце или по диагонали. Если нет победителя, то функция должна вернуть None.
- terminal для состояния возвращает True, если игра закончена, иначе - False. Игра закончена, если кто-то выиграл, или все ячейки были заполнены.
- utility для терминального состояния возвращает -1, если выиграл O. Возвращает 0, если игра закончилась в ничью. 1, если выиграл X. Предполагаем, что функция будет вызываться только на состояния, для которых terminal(board) даёт True.
- minimax для состояния возвращает оптимальный ход для игрока. Ход в виде пары (j, j). Если состояние терминальное, то возвращает None.
Как проверить
Сделайте рабочим каталог с программой.
Вы можете проверить правильность выполнения задания, выполнив команду
npx cs204 2023/tictactoe local
Для отправки на проверку выполните команду
npx cs204 2023/tictactoe
Заполните форму
форма отправки на проверкуСвои оценки вы можете посмотреть на http://90.188.117.161:8080.