Разработка приложения для Windows, представляющего собой компьютерную игру «Кости»

Автор: Пользователь скрыл имя, 05 Декабря 2011 в 21:59, дипломная работа

Краткое описание

Разработать программу, моделирующую игру «Кости». Играющий называет любое число в диапазоне от 2 до 12 и ставку, которую он делает в этот ход. Программа с помощью датчика случайных чисел дважды выбирает числа от 1 до 6 («бросает кубик», на гранях которого цифры от 1 до 6). Если сумма выпавших цифр меньше 7 и играющий задумал число меньшее 7, он выигрывает сделанную ставку. Если сумма выпавших цифр больше 7 и играющий задумал число большее 7, он также выигрывает сделанную ставку. Если играющий угадал сумму цифр, он получает в четыре раза больше очков, чем сделанная ставка. Ставка проиграна, если не имеет место ни одна из описанных ситуаций. В начальный момент у играющего 100 очков. В программе должно присутствовать графическое изображение поверхности кубика при каждом ходе игрока.

Оглавление

ВВЕДЕНИЕ
ОСНОВНАЯ ЧАСТЬ
1 РАЗРАБОТКА ЭСКИЗНОГО И ТЕХНИЧЕСКОГО ПРОЕКТОВ ПРОГРАММЫ
1.1.Назначение и область применения
1.2.Технические характеристики
1.2.1. Постановка задачи
1.2.2. Описание алгоритма
1.2.3. Организация входных и выходных данных
1.2.4. Выбор состава технических и программных средств
2 РАЗРАБОТКА РАБОЧЕГО ПРОЕКТА
2.1 Разработка рабочего проекта
2.2 Написание программы
2.3 Текст программы
2.4 Тестирование программы
ЗАКЛЮЧЕНИЕ
ГЛОССАРИЙ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
ПРИЛОЖЕНИЯ

Файлы: 1 файл

Разработка приложения для Windows, представляющего собой компьютерную игру «Кости».doc

— 207.50 Кб (Скачать)

         Rewrite(FO);

         Writeln(FO,'0');

         CloseFile(FO);

       end;

       end;

       ListBox.ItemIndex:=0;

     end;

     //--------------------------------------------------------

     //Создание нового игрока

     //--------------------------------------------------------

     procedure TFormNew.BNewClick(Sender: TObject);

     var ClickedOK: Boolean; //Нажата ли кнопка  ОК

     begin

       ClickedOK:=InputQuery('Новый игрок',

           'Введите имя нового игрока', NameGamer);

       if ClickedOk and (NameGamer<>'') then begin  //Если имя игрока введено

         AssignFile(FO, 'Players.dat'); AssignFile(FS, '1.dat');

         Reset(FO); Rewrite(FS);  //Открытие двух файлов

         Readln(FO, S); KolGamer:=StrToInt(S);

         Writeln(FS, IntToStr(KolGamer+1));  //Запись увеличенного кол. икроков

         if KolGamer<>0 then for i:=1 to KolGamer do for j:=1 to 6 do begin

           Readln(FO, S); Writeln(FS, S);

         end;

         //Добавление в конец файла  информации о новом игроке

         Writeln(FS, NameGamer);

         Writeln(FS, '100'); Writeln(FS, '20'); Writeln(FS, '7');

         Writeln(FS, '1'); Writeln(FS, '1');

         //Закрытие файлов и удаление временного

         CloseFile(FO); CloseFile(FS);

         CopyFile('1.dat', 'Players.dat',False);

         DeleteFile('1.dat');

         //Добавление нового игрока в  список

         ListBox.Items.Add(NameGamer);

         ListBox.ItemIndex:=ListBox.Items.Count-1;

       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.

     2.4 Тестирование программы

     После запуска приложения появляется главное  окно программы в цен-тре экрана, которое перекрыто диалоговым окном выбора игрока. Нажимаем кнопку «Новый». Появляется окно, в которое предлагается ввести имя создаваемого игрока. Вид программы представлен в приложении 1. Вводим имя «Сергей» и нажимаем клавишу «ОК». Имя игрока появляется в списке игроков. После нажатия на кнопку «Выбрать». Главное окно программы с начальными значениями становится активным. Вид программы на данном этапе представлен в приложении 1, второй рисунок. После нажатия на кнопку «Ход» вид окна программы изменился (приложение 1, третий рисунок). Далее, в таблице 3 представлена таблица с данными игры созданного игрока до полного проигрыша. Вид окна программы на последнем этапе игры представлен в приложении 1, 4 рисунок.

     Таблица 3

     Кредит      Ставка      Число      Выпало      Выигрыш
     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

     Заключение

     В условии задачи не сказано о максимально допустимом выигрыше, поэтому в игре не предусмотрено данное ограничение. Также не ограничено количество разных игроков.

     Для уменьшения размера исполняемого файла  программы можно картинки граней кубиков загружать при запуске  игры. Можно добавить озвучивание  событий игры, уровень сложности игры и разные настройки параметров игры. Это вызвало бы больший интерес к игре.

     Используемая  в программе структура файла  наиболее оптимально подходит для такого рода операций над файлом как сохранение всей информации о каждом игроке. При  использовании текстового файла нет необходимости создавать динамические структуры. Для доступа к информации о любом игроке, записанном в файле, необходимо пропустить по 6 строк для каждого предыдущего игрока.

     В целом приложение представляет собой  почти самый простой вариант игры «Кости» с набором самых необходимых функций.

     Глоссарий

Понятие Определение
1 Спецификация  программы точное и  полное описание задачи, содержащее всю  необходимую информацию для разработки алгоритма и программы решения  задачи
2 Вычислительная  разрешимость возможность решения  задачи на вычислительной машине (компьютере)
3 Алгоритмическая сложность характеристика  сложности, определяемая через минимальную  длину программы решения соответствующего класса задач
4 Вычислительная  сложность сложность вычислительной реализации задачи данного класса, позволяющая оценить минимальные затраты различных вычислительных ресурсов на решение задачи
5 Сигнализирующая времени характеристика  вычислительной сложности, определяющая время работы алгоритма от момента  ввода исходных данных до момента получения результата
6 Сигнализирующая емкости характеристика  вычислительной сложности, определяющая число ячеек памяти, к которым  хотя бы раз происходило обращение  в процессе реализации алгоритма
7 Легкоразрешимые задачи класс задач, для  которых существует алгоритм, решающий любую задачу из этого класса за число шагов, не превышающее некоторый полином от размерности задачи
8 Трудноразрешимые задачи класс задач, для  которых существует алгоритм, решающий любую задачу из этого класса за число шагов, не меньшее, чем экспоненциальная функция от размерности задачи
9 Ассемблер символическая форма записи машинного языка, требующая  знания архитектуры компьютера
10 Синтаксис языка  программирования правила записи языковых конструкций (выражений, операторов, подпрограмм и т.п.) языка программирования

     Список  использованных источников

1 Емелина Е.И. Основы программирования на языке Паскаль. М., 1997.
2 Мануйлов В. Г. Разработка программного обеспечения  на Паскале. М., 1998г.
3 Фаронов В.В.Турбо Паскаль 7.0. М., 1998
4 Культин Н. Програмирование  на Object Pascal. Киев, 1998.
5 Федоров А. Г. Delphi 3.0 для всех. М., 1998.
6 Дарахвелидзе  П., Марков Е. Программирование в Delphi 4.СПб.: БХВ. СПб., 1999
7 Роб Баас, Майк Фервай, Хайдемария Гюнтер. Delphi 4. Полное руководство. - К.: Издательская группа BHV, 1999
8 Изучаем Delphi. –  СПб.: Питер, 2000. – 352 с.: ил.
9 Александровский А. Д. Delphi 5.0. Разработка корпоративных  приложений. – М.: ДМК, 2000. – 512 с.: ил. (Серия «Для программистов»).
10 Delphi: быстрый  старт. – СПб.: БХВ – Петербург, 2002. – 288 с.: ил.
11 Turbo Pascal / С.А.  Немнюгин. – СПб: Издательство  «Питер», 2000. – 496 с.: ил.
12 Изучаем Delphi. –  СПб.: Питер, 2000. – 352 с.: ил.
13 Власов А.Я. Справочник по программированию на Object Pascal. Киев, 2001г.
14 Turbo Pascal в задачах  и программах.  – СПб.: БХВ –  Петербург,, 2002. – 560 с.: ил.
15 Delphi: быстрый  старт. – СПб.: БХВ – Петербург, 2002. – 288 с.: ил.

     Приложения

     Приложение 1

Информация о работе Разработка приложения для Windows, представляющего собой компьютерную игру «Кости»