Главная страница « Информация « 4 курс « курс ВвФП «

Варианты задания «Создание игровой программы на основе минимаксного алгоритма». 2017-18 учебный год


«...писать программы на Лиспе -- громадное удовольствие.»
Х. Абельсон, Дж. Дж. Сассман, Д. Сассман «Структура и интерпретация компьютерных программ»

Общие сведения о задании


Создайте игровую программу, используя минимаксный алгоритм. Варианты игр для реализации: 4 в ряд, калах, реверси, рэндзю, шашки, уголки, Qubic, шахматы на доске 5х5 и т. п.. Максимальный балл -- 35. Выбранные для реализации игры не должны совпадать у разных студентов. При решении второго задания можно использовать обычные библиотеки racket, мутируемые структуры, средства ООП Racket, присваивание. Использование этих средств должно быть обосновано. При оценке игровой программы учитывается «сила» её игры, сложность выбранной игры, сложность реализации. Код второго задания должен содержать комментарии. В них следует указать, как представлена игровая ситуация, какой способ решения игры (поиска хода) реализован, каковы его параметры. Как отправную точку в написании кода решающей части игровой программы можно рассматривать реализацию крестиков-ноликов на Racket. По соседству лежит реализация игры Ним. Сдавать реализации этих двух игр нельзя. Этапы сдачи:
1й -- создание решающей части. Максимальный балл -- 15. Сдача без штрафа до 23 ноября.
2й -- создание итоговой версии с GUI. Максимальный балл -- 15. Сдача без штрафа до 5 декабря.
3й -- сдача отчёта в электронном виде (в формате PDF). Максимальный балл -- 5. Сдача без штрафа до дня проведения экзамена.

На всех этапах за каждую неделю просрочки сдачи этапа будет начисляться штраф в размере 20% от максимального балла. По прошествии пяти недель этап можно сдать, но баллы начислены не будут. Студенты не сдавшие задание (в том числе -- отчёт!) не смогут получить положительную оценку на экзамене.

Требования к отчёту

Отчёт пишется на русском языке. Текст отчёта должен быть разбит на следующие части:

  • Титульный лист, с «шапкой» – «Московский государственный университет имени М. В. Ломоносова, факультет Вычислительной математики и кибернетики». Далее следует заголовок: «Отчёт по второму заданию», номер и тема варианта задания, сведения об исполнителе (фамилия, имя и отчество полностью, номер группы). Внизу титульного листа указывается город и год. Нелишне обратить внимание на то, что точки после заголовков не ставятся.

  • Содержание состоит из перечня названий глав и подглав, сопровождаемых указанием номеров страниц, с которых они начинаются. Нумеруются все страницы, за исключением титульного листа. Номер страницы с содержанием: 2.

  • Первая глава, названная «Постановка задачи», содержит формулировку задания и описание правил выбранной игры. Каждую главу следует начинать с новой страницы.

  • Вторая глава, названная «Создание решающей части», содержит описание структур данных для представления игровой ситуации и дерева игры, оценочной функции, выбранного варианта минимаксного алгоритма (альфа-бета отсечение, ...).

  • Третья глава, названная «Графический пользовательский интерфейс», содержит описание того, как игровая ситуация представлена пользователю на экране и какие возможности предоставлены пользователю для работы с программой. В тексте главы должно быть описание того, как протекает одна игровая партия, должны быть приложены скриншоты, поясняющие особенности дизайна GUI.

  • Четвёртая глава, названная «Результаты», содержит анализ результатов работы программы. Следует охарактеризовать результаты, полученные на тестовых прогонах программы, оценить «силу» игры программы. Если доступны другие реализации выбранной игры, следует сравнить результаты их работы с результатами, демонстрируемыми Вашей программой.

  • Заключение (которое не нумеруется, но номер на странице ставится), где подводится общий итог работы, завершает отчёт. В заключении можно указать характеристики написанного кода, привести соображения о том, насколько удачно удалось применить минимаксный алгоритм к решению доставшейся Вам задачи.

  • Список использованной литературы приводится, если в ходе работы над заданием были использованы статьи и/или книги. Библиографические записи в списке следует оформлять по рекомендациям ГОСТ. На каждую запись списка в тексте отчёта должна быть ссылка.

  • Приложение, которое содержит Ваш код.

На всякий случай, приведён вид страницы с содержанием (без указания номеров страниц для 2 главы и последующих частей отчёта)
Содержание
1. Постановка задачи .........................3
2. Создание решающей части ...................
3. Графический пользовательский интерфейс ...
4. Результаты ................................
Заключение ...................................
Список литературы ............................
Приложение. Код программы.....................


Список вариантов

  1. Четыре в ряд

  2. Калах

  3. Реверси

  4. Рэндзю

  5. Шашки

  6. Уголки

  7. Qubic

  8. Шахматы на доске 5х5

  9. предлагайте свои варианты («Крестики-нолики», Ним, Точки, и другие игры, для которых легко найти реализацию на Racket или Scheme, не рассматриваются).

Предупреждение


Размещение на других ресурсах, а также коммерческое использование материалов, опубликованных в данном разделе, возможно только с разрешения авторов. По всем вопросам пишите:   

  

© Кафедра системного программирования ВМК МГУ.

Обновлено: 4.9.2017