Варианты задания «Создание игровой программы на основе минимаксного алгоритма». 2019-20 учебный год |
«...писать программы на Лиспе -- громадное удовольствие.» |
Создайте игровую программу, используя минимаксный алгоритм. Максимальный балл -- 35. При решении второго задания можно использовать обычные библиотеки racket, мутируемые структуры, средства ООП Racket, присваивание. Использование этих средств должно быть обосновано. При оценке игровой программы учитывается «сила» её игры, сложность выбранной игры, сложность реализации. Код второго задания должен быть оформлен как следует и должен содержать содержательные комментарии на русском языке. В них следует указать, как представлена игровая ситуация, какой способ решения игры (поиска хода) реализован, каковы его параметры. Как отправную точку в написании кода решающей части игровой программы можно рассматривать реализацию крестиков-ноликов на Racket (адаптированный код выложен в ВК-группе). Этапы сдачи: Для сдачи онлайн следует направить код лектору по электронной почте. Сдача может быть осуществлена офлайн, но если по истечении 7 дней после сдачи код не прислан, то отметка о сдаче аннулируется, баллы обнуляются. Для зарабатывания дополнительных баллов предлагается реализовать GUI для удобной игры против "человека"/"машины" и/или просмотра поединка двух "машин". Максимальная сумма баллов за GUI -- 15. Решения по этой части принимаются до истечения астрономического 2019го года. Позже зарабатывание дополнительных баллов невозможно. Если Вас не привлекает создание GUI, то можно, используя версию языка slideshow хотя бы выводить игровую позицию в более наглядном виде, чем псевдографика. 15 баллов за такое не заработаете, но сколько-то можете получить. Требования к отчёту Отчёт пишется на русском языке. Вёрстку можете осуществлять в любой подходящей для Вас системе. Текст отчёта должен быть разбит на следующие части:
На всякий случай, приведён вид страницы с содержанием (без указания номеров страниц для 2 главы и последующих частей отчёта)
|
|
Сведения об игре см. тут. Реализуйте вариант с 72 камнями. |
Сведения об игре см. тут. Реализуйте вариант с полем 7x6. |
Трехмерный вариант крестиков-ноликов в кубе 4х4х4. Сведения об похожей игре см. тут. Реализуйте другой вариант игры, в котором игроки заполняют все ячейки поля, а затем подсчитывают количество рядов по 4 крестика и рядов по 4 нолика. У какого игрока заполненных рядов больше, тот и выиграл. |
Вариант игры "английские" шашки на поле 8х8. Сведения об игре см. тут. Можно по согласованию с лектором рассмотреть доску меньшего размера и/или игру с меньшим количеством шашек (например, решение окончания шашечной партии с 4-5 шашками/дамками). |
Вариант на поле 6х6 с начальным размещением 2х3. Правила осуществления ходов можно уточнить. Сведения об обычном варианте игры см. тут. |
Можно реализовать только "дебют", т. е. фактически, рассматривать доску 6х6 вместо 8х8. Сведения об игре см. тут. |
Игра известна под названием «Мини-шахматы Гарднера». Сведения об игре см. тут. Можно по согласованию с лектором рассмотреть игру с меньшим количеством фигур и пешек (например, решение окончания шахматной партии с 4-5 фигурами: король и ладья против короля и 2х пешек и т. п.). |
Вариант уголков на особом поле, придуманный инками. Сведения об игре см. тут. |
Простой вариант с полем 15х15, без фолов и пасов. Сведения об игре см. тут. |
Плоский вариант игры дан в варианте 2. Следует реализовать 3D-разновидность, в которой используется поле 4х4х4 и выигрывает игрок первым собравший ряд и своих символов (крестиков или ноликов). Сведения об игре см. тут. |
Корейский вариант уголков на доске 5х5 с 7 фишками. Ходы только по диагонали. Сведения об игре см. тут. |
Поле состоит из ячеек, раскрашенных в случайные цвета. В начале игры каждому из двух противников принадлежит одна начальная ячейка (в противоположных углах поля). Начальные ячейки имеют разный цвет. Ход игрока состоит в перекрашивании своей области в другой цвет (не совпадающий с цветом области противника). При этом к области присоединяются ячейки того же цвета, примыкающие к области игрока. Победа достигается при закрашивании более половины поля. Сведения об игре см. тут. Начальная закраска поля должна осуществляться случайно. |
Вариант на поле 5х5. Сведения об игре см. тут. |
Сведения об игре см. тут. |
Игра 4 белых пешек против 4 чёрных пешек на поле 4х4. Сведения о схожей игре шестью пешками на доске 3х3 см. тут. |
Трехмерный вариант крестиков-ноликов в кубе 4х4х4. Сведения об игре см. тут. Реализуйте вариант игры, в котором победа достигается при построении ряда из четырёх крестиков, либо из четырёх ноликов. |
Предупреждение |
Размещение на других ресурсах, а также коммерческое использование материалов, опубликованных в данном разделе, возможно только с разрешения авторов. По всем вопросам пишите: |
© Кафедра системного программирования ВМК МГУ. Обновлено: 1.IX.2019 |