Автор: Пользователь скрыл имя, 13 Декабря 2011 в 15:37, курсовая работа
Условие задачи:
Разработать программу, моделирующую игру «Кости». Играющий называет любое число в диапазоне от 2 до 12 и ставку, которую он делает в этот ход. Программа с помощью датчика случайных чисел дважды выбирает числа от 1 до 6 («бросает кубик», на гранях которого цифры от 1 до 6). Если сумма выпавших цифр меньше 7 и играющий задумал число меньшее 7, он выигрывает сделанную ставку. Если сумма выпавших цифр больше 7 и играющий задумал число большее 7, он также выигрывает сделанную ставку. Если играющий угадал сумму цифр, он получает в четыре раза больше очков, чем сделанная ставка. Ставка проиграна, если не имеет место ни одна из описанных ситуаций. В начальный момент у играющего 100 очков. В программе должно присутствовать графическое изображение поверхности кубика при каждом ходе игрока.
Введение 4
Глава 1. Разработка эскизного и технического проектов программы 5
1.1. Назначение и область применения 5
1.2. Технические характеристики 5
1.2.1. Постановка задачи 5
1.2.2. Описание алгоритма 7
1.2.3. Организация входных и выходных данных 9
1.2.4. Выбор состава технических и программных средств 10
Глава 2. Разработка рабочего проекта 11
2.1. Разработка программы 11
2.2. Написание программы 14
2.3. Спецификация программы 17
2.4. Текст программы 18
2.5. Тестирование программы 24
Глава 3. Внедрение 25
3.1. Условия выполнения программы 25
3.2. Выполнение программы 25
3.3. Сообщение оператору 25
Заключение 27
Список литературы 28
Приложение 1
Приложение 2
CopyFile('1.dat', 'Players.dat',False);
DeleteFile('1.dat');
//Добавление нового игрока в список
ListBox.Items.Add(NameGamer);
ListBox.ItemIndex:=ListBox.
end;
end;
//----------------------------
//Удаление игрока
//----------------------------
procedure TFormNew.BDelClick(Sender: TObject);
begin
AssignFile(FO, 'Players.dat'); AssignFile(FS, '1.dat');
Reset(FO); Rewrite(FS); //Открытие файлов
Readln(FO, S); KolGamer:=StrToInt(S);
Writeln(FS, IntToStr(KolGamer-1)); //Запись уменьшеннго кол. игроков
//Перезапись игроков кроме выделенного в списке
for i:=1 to KolGamer do
if i<>ListBox.ItemIndex+1 then
for j:=1 to 6 do begin Readln(FO, S); Writeln(FS, S); end
else for j:=1 to 6 do Readln(FO, S); //Пропуск 6 строчек
//Закрытие файлов и удаление временного
CloseFile(FO); CloseFile(FS);
CopyFile('1.dat', 'Players.dat',False);
DeleteFile('1.dat');
FormCreate(nil); //Обновление списка игроков
end;
end.
После запуска приложения появляется главное окно программы в центре экрана, которое перекрыто диалоговым окном выбора игрока. Нажимаем кнопку «Новый». Появляется окно, в которое предлагается ввести имя создаваемого игрока. Вид программы представлен в приложении 1. Вводим имя «Сергей» и нажимаем клавишу «ОК». Имя игрока появляется в списке игроков. После нажатия на кнопку «Выбрать». Главное окно программы с начальными значениями становится активным. Вид программы на данном этапе представлен в приложении 1, второй рисунок. После нажатия на кнопку «Ход» вид окна программы изменился (приложение 1, третий рисунок). Далее, в таблице 4 представлена таблица с данными игры созданного игрока до полного проигрыша. Вид окна программы на последнем этапе игры представлен в приложении 1, четвертый рисунок.
Таблица 4
Кредит | Ставка | Число | Выпало | Выигрыш |
100 | 20 | 7 | 2 | - |
125 | 25 | 3 | 5 | 25 |
110 | 15 | 8 | 2 | 0 |
140 | 30 | 10 | 9 | 30 |
115 | 25 | 8 | 4 | 0 |
95 | 25 | 9 | 2 | 0 |
35 | 40 | 7 | 12 | 0 |
30 | 5 | 2 | 7 | 0 |
70 | 5 | 3 | 3 | 40 |
20 | 50 | 10 | 5 | 0 |
0 | 20 | 11 | 4 | 0 |
В разделе описываются (руководство ГОСТ 19.505-793):
Данное приложение, разработанное в Delphi, способно работать на персональных компьютерах с минимальными требованиями Pentium 100, оперативной памятью 32 Мб, операционной средой Windows.
Запустить приложение можно также как и любое другое. Окно приложения загрузится и появится в центре экрана. Для добавления, удаления из списка или выбора игроков используются кнопки соответственно: «Добавить», «Удалить» и «Выбрать». Для хода игрока используется кнопка «Ход». Чтобы вызвать окно выбора игрока необходимо нажать кнопку «Игрок». Для выхода из программы необходимо нажать Alt+F4, нажать кнопку «Выход» или щелкнуть левой кнопкой мыши по крестику в правом верхнем углу экрана.
Постоянно на протяжении всей игры в строку состояния выводятся подсказки пользователю. Так, например, в первую панель строки выводятся сообщения о выигрыше или проигрыше сделанной ставки: «Ты выиграл!», «Ты проиграл!». Во вторую панель сумма выпавших значений на гранях кубиков. В третью панель выигрыш. Также если кредит игрока иссякнет, появится сообщение о проигрыше (приложение 1, четвертый рисунок).
В условии задачи не сказано о максимально допустимом выигрыше, поэтому в игре не предусмотрено данное ограничение. Также не ограничено количество разных игроков.
Для уменьшения размера исполняемого файла программы можно картинки граней кубиков загружать при запуске игры. Можно добавить озвучивание событий игры, уровень сложности игры и разные настройки параметров игры. Это вызвало бы больший интерес к игре.
Используемая в программе структура файла наиболее оптимально подходит для такого рода операций над файлом как сохранение всей информации о каждом игроке. При использовании текстового файла нет необходимости создавать динамические структуры. Для доступа к информации о любом игроке, записанном в файле, необходимо пропустить по 6 строк для каждого предыдущего игрока.
В целом приложение представляет собой почти самый простой вариант игры «Кости» с набором самых необходимых функций.
Приложение 1
Виды
программы, принимаемые во время
ее тестирования.
Приложение 2
К семестровой
курсовой работе прилагается диск 1.44
Мб.
Наименование | Обозначение | Размер |
Kosti.dof | Файл параметров проекта | 2 Кб |
Kosti.dpr | Файл проекта | 275 байт |
Kosti.cfg | Файл, содержащий настройки проекта | 386 байт |
Kosti.res | Файл ресурсов | 876 байт |
Unit1.pas | Файл программного модуля для формы FormGame | 5 Кб |
Unit1.dfm | Файл формы FormGame | 28 Кб |
Unit1.dcu | Объектный файл для Unit1.pas | 7 Кб |
Unit2.pas | Файл программного
модуля для формы
FormNew |
7 Кб |
Unit2.dfm | Файл формы FormNew | 2 Кб |
Unit2.dcu | Объектный файл для Unit2.pas | 10 Кб |
Kosti.exe | Исполняемый файл программы | 385 Kб |