Курсовая работа: Генерирование псевдослучайных чисел на примере создания игры Сапер
Цель игры состоит в том, чтобы как можно быстрее найти все мины на минном поле, не вскрыв ни одну из них.
Чтобы начать игру в меню Игра нужно выбрать команду Новая игра (рис.3.2).
Игрок имеет возможность открыть любую ячейку, щелкнув ее левой кнопкой мыши. Если открываемая ячейка содержит мину, игра завершается.
Если мины нет, в ячейке появится цифра, которая указывает, сколько мин находится в восьми смежных с ней ячейках.
Чтобы пометить ячейку, в которой по мнению игрока находится мина, нужно щелкнуть ее правой кнопкой мыши.
Чтобы настроить игровое поле в меню Игра следует выбрать команду Игровое поле (рис.3.2), адалее:
¾ выбрать размер поля 10 * 10 или 20 *20, затем количество мин 10, 15, 20, 40, 60
или выбрать команду Особые и задать размер поля, указав количество клеток по горизонтали и вертикали, а также ввести число мин. (рис.3.3)
Чтобы изменить способ расстановки мин на поле, в меню Игра нужно выбрать команду Способ расстановки мин, адалее:
¾ Random
¾ Линейный конгруэнтный метод
¾ Алгоритм Блюма, Блюма и Шуба .
Чтобы найти инструкцию по игре, нужно выбрать в меню Справка , а для ознакомления с информацией о приложении выбрать
О программе
Заключение
В ходе выполнения курсовой работы были рассмотрены и проанализированы основные методы генерирования псевдослучайных чисел: линейный конгруэнтный метод, метод Фибоначчи с запаздываниями, алгоритм Блюма, Блюма и Шуба, Вихрь Мерсенна.
Для реализации в курсовой работе были выбраны: метод, основанный на использовании системного класса Random, линейный конгруэнтный метод и алгоритм Блюма, Блюма и Шуба в связи с их достаточно простым математическим представлением и возможностью получения любого числа, располагая только значением стартового.
Выдвинуты требования к функциональности приложения, исходя из специфики игры «Сапер» и сформулированы необходимые характеристики того языка программирования, с помощью которого предполагалось выполнить поставленную задачи, проанализированы преимущества и недостатки разных языков и сделан выбор в пользу языка С#.
В конструкторской части были использованы новые визуальные компоненты. На основе имеющихся и полученных знаний об основных структурах языка С# реализованы алгоритм игры и графический интерфейс.
Технологическая часть состояла из разработки подробных инструкций по запуску и работе с приложением, а также сформулированы рекомендуемые требования к системе при работе с проектом.
Задание на курсовую работу было выполнено полностью.
Литература
1. Кнут Д. Искусство программирования, т. 2. Получисленные методы -М.: «Вильямс», 2007. — С. 832.
2. Зубинский А. В поисках случайности. - Компьютерное Обозрение,
29 (2003)
3. Шилдг Г. Полный справочник по С#/Пер. с англ. — М. : Издательский дом "Вильямc", 2004. — 752 с.
4. Ватсон К. С#. – М.: Издательство "Лори", 2005
5. Рихтер Дж. Программирование на платформе Microsoft .NETFramework. - М.: Издательско-торговый дом “Русская Редакция”, 2003.-464 с.
6. Фролов А. В. Фролов Г. В. Язык С#. Самоучитель. - М: Издательство «ДИАЛОГ-МИФИ», 2003. - 560 с.
Приложение 1
Код программы