Игра ЧтоГдеКогда на Паскале
Рефераты >> Программирование и компьютеры >> Игра ЧтоГдеКогда на Паскале

Содержание

ВВЕДЕНИЕ

1 Вариант задания.

2 Описание задачи

3 Структуры данных

4 Описание программы.

4.1 Общие сведения.

4.2 Функциональное назначение.

4.3 Описание логической структуры программы.

5 Разработка алгоритмов программы.

6 Описание работы основного модуля программы

7 Руководство пользователя.

8 Руководство системного программиста.

9 Результаты отладки программы.

Заключение

Литература

ВВЕДЕНИЕ

Любая программа должна взаимодействовать с периферийными устройствами персонального компьютера, в частности с дисплеем. Такое взаимодействие осуществляется на трех уровнях, влияющих на производительность и мобильность программ на уровне операционной системы программа обращается к устройству через системное обслуживания. Такой способ обеспечивает максимальную мобильность программы, но приводит к ее минимальной производительности. Кроме того, операционная система MS DOS не имеет графического интерфейса.

Программа может взаимодействовать с устройствами графического вывода информации с помощью базовой системы ввода / вывода. Этот способ имеет достаточно высокую мобильность и приемлемую производительность. Однако графические возможности базовой системы ввода / вывода ограничены.

В персональных компьютерах фирмы IBM программистам предоставлена возможность и прямого управления устройством через их регистры. В рамках данной курсовой работы все операции с графическим интерфейсом будем проводить с помощью графического пакета языка программирования Turbo - Pascal. Операторы позволяют определять характеристики драйвера, режим его работы и соответственно настроить графический пакет, команды перехода от графического режима к текстовому и наоборот. Основная группа графических операторов, непосредственно осуществляющих вывод графических примитивов (точек, линий, ломаных, окружностей) на экран графического дисплея. Также имеются операторы, позволяющие устанавливать параметры прорисовки графических примитивов (цвет, толщина, тип линии). Имеются операторы для определения параметров графических примитивов, которые могут быть установлены по умолчанию. Один и тот же графический приметив может быть нарисован на экране с использованием различных установок: цвет, тип линии, тип штриховки. Внесенные в палитру изменения немедленно отображаются на экране.

Также имеются процедуры для вывода текстовой информации и установления параметров текстового вывода.

В графическом режиме программа оперирует цветом каждого пиксела. Благородя этому, появляются возможности построения на экране сложных изображений, раскраски различных областей экрана, формирование движущихся объектов.

Однако эти возможности значительно усложняют программирование и снижают производительность персонального компьютера. Об этом свидетельствует простое сравнение объемов информации, с которыми приходится работать в текстовом и графическом режимах. Так например в случае 16-ти цветного графического режима с разрешающей способностью 640*350 пикселов требуемый объем видеобуфера увеличивается до 112000 байт.

Целью курсового проектирования является разработка программы имитирующий игру «Что?Где?Когда?». В процессе проектирования следует рассмотреть существующие графические примитивы, изучить работу с графическими модулями. Основной целью использования программы является разработка ее в качестве тренажера.

1 Вариант задания.

Составить программу, моделирующую игру «Что?Где?Когда?». Для этого программа должна отобразить на экране игровое поле рулетки с указанием цифр секторов и цветов, а также величины ставок для каждого сектора. Для каждого сектора из банка вопросов случайным образом выбирается вопрос, сложность которого пропорциональна ставке.

В ходе игры случайным образом выбирается номер сектора, и выдается текст соответствующего вопроса. При этом вопрос формулируется так, что на него предусмотрен четкий и ясный ответ. В процессе игры фиксируется суммы верных и неверных ответов и суммы выигрышей.

2 Описание задачи

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

- построения БД с вопросами и их случайным выбором и чередованием;

- заполнение графического экрана геометрическими фигурами различной формы и циклического вращение их по кругу, имитируя вращения трубки калейдоскопа и перемещения в ней разноцветных геометрических элементов.

Для построения графических примитивов следует определить координаты центра графического экрана и его максимальные координаты по оси абсцисс и по оси ординат.

Рисунок 1 Графические координаты.

Следовательно координаты центра экрана и центра любого графического окна можно найти по формуле:

Для организации игрового поля следует определить следующие координаты:

- - координаты прямоугольника- графического экрана;

- - координаты центра круглого игрового стола

- - радиус окружности, описанной из центра примитива и проходящей через координаты прямоугольника.

- 0,0,X0,Y0 – рамка со счетом игры.

В этом случае игровое поле примет вид:

Рисунок 2

3 Структуры данных

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

Наиболее удобной формой хранения разнородных данных является тип структура (запись). В языке Borland Pascal 7.0 она обозначается так

<ИМЯ> : record

<ИМЯ ПОЛЯ1> : <ТИП ПОЛЯ1>;

<ИМЯ ПОЛЯ2> : <ТИП ПОЛЯ2>;

---------------------------------------------

<ИМЯ ПОЛЯ M> : <ТИП ПОЛЯ M>;

end;

Для хранения данных в программе используем следующие структуры данных:

Trec_TST = record

use : integer;

name : string; {_наименование вопроса}

ans : string; {_наименование ответа}

end;

Trec_YN = record

use : integer;

name : string; {_наименование вопроса}

ans_int : integer; { ответ Y/N}

end;

Trec_USR = record

name : string; {_наименование вопроса}

psw : string; {_наименование ответа}

ans_am : integer; {_наименование ответа}

end;

Как следует из [1], поля могут быть разного типа, и все они группируются под именем записи. В качестве <ТИП ПОЛЯ M> любой скалярный тип.

Для ввода таких полей как «Наименование» достаточно 255 символов. Следовательно будем использовать тип String. На основании имеющейся информации составим структуру данных:

Название поля

Примечание

Name

Вопрос

Ans

Ответ

Ans_RTIME

Ответ по типу да/нет


Страница: