Сайт в помощь студенту Грамоте учиться – всегда пригодится

ПРОГРАММА «АРКАНОИД»

ГОСУДАРСТВЕННЫЙ КОМИТЕТ РОССИЙСКОЙ ФЕДЕРАЦИИ
ПО ВЫСШЕМУ ОБРАЗОВАНИЮ

Волгоградский государственный технический университет

Кафедра систем автоматизированного проектирования
и поискового конструирования

 

Программа «Арканоид»

 

ТЕХНИЧЕСКИЙ ПРОЕКТ

 

ЛИСТ УТВЕРЖДЕНИЯ

 

2068060-01-90 01-1-ЛУ

 

 

 

 

Руководитель разработки

Костерин В. В.

 

Исполнители студенты группы МС-564

Егоров В. С.

Михин Р. В.

Осипов К. В.

Раздобудко А. А.

Лагутин И.

         Черников А.

 

 

 

 

 

 

 

 

Волгоград 2000

 

УТВЕРЖДЁН

2068060-01 90 01-1-ЛУ

 

 

 

 

 

 

Программа «Арканоид»

 

Технический проект

 

ЛИСТ УТВЕРЖДЕНИЯ

 

2068060-01-90 01-1

 

Листов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Волгоград 2000

СОДЕРЖАНИЕ

 

 

 

1. Введение....................................................... 3

1.1. Наименование программного изделия.......................... 3

1.2 Документ, на основании которого ведется разработка.......... 4

2.3. Наименование темы разработки............................... 4

2. Назначение и область применения................................ 4

2.1 Назначение программы........................................ 4

2.2 Область применения.......................................... 4

3. Входные данные................................................. 4

4. Выходные данные................................................ 4

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

5.1. Связи программы с другими программами...................... 5

5.2. Схема иерархии программы................................... 5

5.4. Расшифровка наименований модулей........................... 5

5.5. Описание функционирования программы........................ 6

5.6. Описание паспортов модулей программы (методов объектов).... 7

5.7. Описание объектов программы............................... 23

5.7.1. Объект Location........................................ 23

5.7.2. Объект TextString...................................... 23

5.7.3. Объект Counter......................................... 24

5.7.4. Объект DownCounter..................................... 24

5.7.5. Объект LimitCounter.................................... 25

5.7.6. Объект Cursor.......................................... 25

5.7.7. Объект  SaveScreen..................................... 26

5.7.8. Объект  Block.......................................... 26

5.7.9. Объект Brick........................................... 27

5.7.10. Объект Ball........................................... 27

5.7.11. Объект Obtackle....................................... 28

5.7.12. Объект Wall........................................... 28

5.7.19. Объект ObtackleList................................... 31

6. Используемые технические средства............................. 31

7. план мероприятий по разработке программы...................... 31

Приложение 1..................................................... 32

Структура файла лучших игроков................................... 32

Приложение 2..................................................... 34

Схема иерархии объектов.......................................... 34

Приложение 3..................................................... 36

 

1. Введение

1.1. Наименование программного изделия

Данный программный продукт представляет собой игровую программу. Полное наименование продукта «Арканоид» (в дальнейшем программа).

1.2 Документ, на основании которого ведется разработка

Разработка ведется на основании задания на курсовую работу по дисциплине «Специализированный предмет по языкам программирования».

1.3 Организация, утвердившая этот документ и дата его утверждения

Задание на курсовую работу выдано преподавателем кафедры САПР и ПК ВолгГТУ Костериным В. В.

2.3. Наименование темы разработки

Наименование темы разработки — игровая программа «Арканоид».

2. Назначение и область применения

2.1 Назначение программы

Игровая программа «Арканоид» может использоваться для развития быстроты реакции пользователя.

2.2 Область применения

Игровая программа «Арканоид» может применяться как учебная программа для обучения навыкам программирования на ООП и составления сопутствующих документов.

3. Входные данные

1)  Коды, нажатых на клавиатуре клавиш;

2)  Имя файла лучших игроков;

4. Выходные данные

1)  Изменения изображения на экране монитора, соответствующие различным игровым ситуациям;

2)  Файл, содержащий список лучших игроков (структура  файла приведена в приложении 1).

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

5.1. Связи программы с другими программами

Для поддержания работы программы необходима операционная система MS DOS.

5.2. Схема иерархии программы

Схема иерархии модулей программы приведена в приложении 2.

5.4. Расшифровка наименований модулей

Имя модуля

Назначение модуля

Breakout

Главный модуль программы – предназначен для инициализации объектов, отслеживания нажатия клавиш пользователем во время работы и очистке памяти, выделяемой для объектов, при выходе из программы.

Screen

Модуль формирования игрового экрана.

Bricks

Модуль выполняет анализ и вычисление траектории движения объектов Ball и Brick во время игры.

Walls

Модуль выполняет анализ и формирование игровой ситуации.

Count

Модуль инициализирует объекты-счетчики и вычисляет их значения.

Bounds

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

 

5.5. Описание функционирования программы

При запуске программы инициализируется главная экранная форма с предложением об изменении скорости игры (макет экрана приведен в приложении 3, п. 1).[АВЕ1] 

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

При нажатии кнопки Esc происходит выход:

-          если клавиша нажата пользователем в процессе игры, то игра останавливается и происходит переход на начальную игровую экранную форму (см. выше);

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

В процессе игры отслеживаются нажатия на следующие клавиши:

1) Left arrow – перемещение биты на один шаг влево;

2) Right arrow - перемещение биты на один шаг вправо;

3) Up arrow – увеличение скорости игры;

4) Down arrow – снижение скорости игры.

Нажатие любой клавиши, не указанной в данном пункте ТП,  приведет к паузе в игре (макет экрана приведен в приложении 3 п. 4).

Выход из режима паузы осуществляется нажатием на любую буквенно-цифровую клавишу.

5.6. Описание паспортов модулей программы (методов объектов)

1. Имя: Startup

2. Язык:  Object Pascal 7.0

3. Осн. функция: инициализация объектов, прорисовка стартового экрана игры

4. Входная инф.: 

5. Выходная инф.: 

6. Вызываемые модули:  SaveScreen.Init, LeftBound.Init, RightBound.Init, UpperBound.Init, LowerBound.Init, Counter.Init, CounterShow, TextString.Init, TextString.Show, DownCounter.Init, LimitCounter.Init, LimitCounter.Show, Wall.Init, Wall.Show, Ball.Init, Paddle.Init, ObtackleList.Init, ObtackleList.Append, TextString.Hide, SaveScreen.Speedup, SaveScreen.SetCursor

 

1. Имя: NewGame

2. Язык:  Object Pascal 7.0

3. Осн. функция: создает новую игру

4. Входная инф.: 

5. Выходная инф.:  

6. Вызываемые модули:  DownCounter.Reset, Score.Reset, Wall.Rest, Ball.MoveTo, Paddle.MoveTo, Ball.Show, Paddle.Show, DownCounter.Decrement

 

1. Имя: MainMenu

2. Язык:  Object Pascal 7.0

3. Осн. функция: перехватыват нажатия клавиш между играми.

4. Входная инф.: 

5. Выходная инф.:  False – если нажата Esc, True – в противном случае.

6. Вызываемые модули:  TextString.Show, LimitCounter.Increment, LimitCounter.Decrement, TextString.Hide

 

1. Имя: Pause

2. Язык:  Object Pascal 7.0

3. Осн. функция: пауза в игре

4. Входная инф.: 

5. Выходная инф.: 

6. Вызываемые модули:  TextString.Show, TextString.Hide, Ball.Show

 

1. Имя: ProcessKeyStroke

2. Язык:  Object Pascal 7.0

3. Осн. функция: перехватывает нажатия клавиш во время игры

4. Входная инф.: 

5. Выходная инф.: 

6. Вызываемые модули:  Pause, Paddle.MoveTo, Paddle.GetX, Paddle.GetY

 

1. Имя: Update

2. Язык:  Object Pascal 7.0

3. Осн. функция: осуществляет проверку на возможные коллизии с объектами на экране и выполняет обновление экрана, если таковые найдутся.

4. Входная инф.: 

5. Выходная инф.: 

6. Вызываемые модули:  ObtackleList.CheckCollisions, Ball.MoveY, Paddle.MoveTo, Ball.GetX, Paddle.GetY, DownCounter.Decrement, Ball.MoveX, Ball.NextX

 

1. Имя: ShutDown

2. Язык:  Object Pascal 7.0

3. Осн. функция: осуществляет выход из игры

4. Входная инф.: 

5. Выходная инф.: 

6. Вызываемые модули:  Ball.Hide, ObtackleList.Hide, DownCounter.Hide, Counter.Hide, ObtackleList.Done, SaveScreen.Restore, SaveScreen.Slowdown

 

1. Имя: Play

2. Язык:  Object Pascal 7.0

3. Осн. функция: процедура осуществляет непосредственно игру. Отслеживает нажатия до 10 клавиш,потом передвигает объекты и проверяет все объекты на возможные коллизии.

4. Входная инф.: 

5. Выходная инф.: 

6. Вызываемые модули:  NewGame, TextString.Show, Counter.GetValue, DownCounter.Last, TextString.Hide

 

1. Имя: SetCursorSpeed

2. Язык:  Object Pascal 7.0

3. Осн. функция: устанавливает скорость движения курсора по экрану

4. Входная инф.:  значение скорости

5. Выходная инф.: 

6. Вызываемые модули: 

 

1. Имя: Location.Init 

2. Язык:  Object Pascal 7.0

3. Осн. функция: устанавливает координаты для объекта Location

4. Входная инф.:  координаты на плоскости

5. Выходная инф.: 

6. Вызываемые модули: 

 

1. Имя: Location.Relocate 

2. Язык:  Object Pascal 7.0

3. Осн. функция: переопределяет координаты объекта Location

4. Входная инф.:  координаты на плоскости

5. Выходная инф.: 

6. Вызываемые модули: 

 

1. Имя: Location.MoveTo 

2. Язык:  Object Pascal 7.0

3. Осн. функция: перемещает обект Location

4. Входная инф.:  координаты на плоскости

5. Выходная инф.: 

6. Вызываемые модули: Location.Hide, Location.Show

 

1. Имя: Location.Show

2. Язык:  Object Pascal 7.0

3. Осн. функция: делает видимым объект Location

4. Входная инф.: 

5. Выходная инф.: 

6. Вызываемые модули: 

 

1. Имя: Location.Hide

2. Язык:  Object Pascal 7.0

3. Осн. функция: делает невидимым объект Location

4. Входная инф.: 

5. Выходная инф.: 

6. Вызываемые модули: 

 

1. Имя: Location.GetX

2. Язык:  Object Pascal 7.0

3. Осн. функция: получает координату X

4. Входная инф.: 

5. Выходная инф.:  координата X

6. Вызываемые модули: 

 

1. Имя: Location.GetY

2. Язык:  Object Pascal 7.0

3. Осн. функция: получает кордтнату Y

4. Входная инф.: 

5. Выходная инф.:  координата Y

6. Вызываемые модули: 

 

1. Имя: Location.IsVisible

2. Язык:  Object Pascal 7.0

3. Осн. функция: выставляет флаг видимости объекта Location

4. Входная инф.: 

5. Выходная инф.:  флаг видимости объекта Location

6. Вызываемые модули: 

 

1. Имя: Cursor.Init 

2. Язык:  Object Pascal 7.0

3. Осн. функция: определяет положение курсора на этапе инициализации

4. Входная инф.: 

5. Выходная инф.: 

6. Вызываемые модули:  Location.Init, Location.Show, Cursor.GetCursor

 

1. Имя: Cursor.Show

2. Язык:  Object Pascal 7.0

3. Осн. функция: показывает курсор

4. Входная инф.: 

5. Выходная инф.: 

6. Вызываемые модули:  Cursor.SetCursor

 

 

1. Имя: Cursor.Hide

2. Язык:  Object Pascal 7.0

3. Осн. функция: скрывает курсор

4. Входная инф.: 

5. Выходная инф.: 

6. Вызываемые модули:  Cursor.GetCursor, Cursor.SetCursor

 

1. Имя: Cursor.GetCursor

2. Язык:  Object Pascal 7.0

3. Осн. функция: получает текущие координаты курсора

4. Входная инф.: 

5. Выходная инф.:  координаты курсора

6. Вызываемые модули: 

 

1. Имя: Cursor.SetCursor

2. Язык:  Object Pascal 7.0

3. Осн. функция: позиционирует курсор

4. Входная инф.:  координаты курсора

5. Выходная инф.: 

6. Вызываемые модули: 

 

1. Имя: Cursor.MoveTo

2. Язык:  Object Pascal 7.0

3. Осн. функция: перемещает курсор

4. Входная инф.:  координаты курсора

5. Выходная инф.: 

6. Вызываемые модули:  Location.Relocate

 

1. Имя: Cursor.Save

2. Язык:  Object Pascal 7.0

3. Осн. функция: сохраняет координаты позиции курсора

4. Входная инф.: 

5. Выходная инф.: 

6. Вызываемые модули:  Cursor.GetCursor, Location.Relocate

 

1. Имя: Cursor.Restore

2. Язык:  Object Pascal 7.0

3. Осн. функция: восстанавливает сохраненные координаты курсора

4. Входная инф.: 

5. Выходная инф.: 

6. Вызываемые модули:  Cursor.SetCursor

 

1. Имя: Cursor.Speedup

2. Язык:  Object Pascal 7.0

3. Осн. функция: увеличивает скорость передвижения курсора

4. Входная инф.: 

5. Выходная инф.: 

6. Вызываемые модули:  SetCursorSpeed

 

 

1. Имя: Cursor.Slowdown

2. Язык:  Object Pascal 7.0

3. Осн. функция: уменьшает скорость передвижения курсора по экрану

4. Входная инф.: 

5. Выходная инф.: 

6. Вызываемые модули:  SetCursorSpeed

 

1. Имя: SaveScreen.Init

2. Язык:  Object Pascal 7.0

3. Осн. функция: инициализирует курсор и сохраняет атрибуты экрана

4. Входная инф.: 

5. Выходная инф.: 

6. Вызываемые модули:  Cursor.Init

 

1. Имя: SaveScreen.Save

2. Язык:  Object Pascal 7.0

3. Осн. функция:

4. Входная инф.:  сохраняет позицию курсора и запоминает атрибуты экрана

5. Выходная инф.: 

6. Вызываемые модули:  Cursor.Save

 

1. Имя: SaveScreen.Restore

2. Язык:  Object Pascal 7.0

3. Осн. функция: восстанавливает позицию курсора и атрибуты экрана

4. Входная инф.: 

5. Выходная инф.: 

6. Вызываемые модули:  Cursor.Restore

 

1. Имя: TextString.init

2. Язык:  Object Pascal 7.0

3. Осн. функция: Создаёт обьект TextString

4. Входная инф.: 

5. Выходная инф.: 

6. Вызываемые модули: Location.Init, TextString.Move .

 

1. Имя: TextString.Show

2. Язык:  Object Pascal 7.0

3. Осн. функция: Отображает текст на экране.

4. Входная инф.: 

5. Выходная инф.:  присваивает True переменной TextString.visible

6. Вызываемые модули: 

 

1. Имя: TextString.Hide

2. Язык:  Object Pascal 7.0

3. Осн. функция: Скрывает текст на экране

4. Входная инф.: 

5. Выходная инф.: присваивает False переменной TextString.visible

6. Вызываемые модули:

 

 

1. Имя: Counter.Init

2. Язык:  Object Pascal 7.0

3. Осн. функция: Создаётся объект Counter, отображающий кол-во очков

4. Входная инф.: InitValue, InitX, InitY ,InitName ,InitAttr

5. Выходная инф.:

6. Вызываемые модули:  TextString.Init.

 

1. Имя: Counter.Show

2. Язык:  Object Pascal 7.0

3. Осн. функция: Отображает текст на экране.

4. Входная инф.: 

5. Выходная инф.:  присваивает True переменной Counter.visible

6. Вызываемые модули: 

 

1. Имя: Counter.Hide

2. Язык:  Object Pascal 7.0

3. Осн. функция: Скрывает текст на экране

4. Входная инф.: 

5. Выходная инф.: присваивает False переменной Counter.visible

6. Вызываемые модули:

 

1. Имя: Counter.ShowVal

2. Язык:  Object Pascal 7.0

3. Осн. функция: Отображает значение счётчика на экране.

4. Входная инф.: 

5. Выходная инф.:  присваивает True переменной Counter.visible

6. Вызываемые модули: 

 

1. Имя: Counter.HideVal

2. Язык:  Object Pascal 7.0

3. Осн. функция: Скрывает значение счётчика на экране

4. Входная инф.: 

5. Выходная инф.: присваивает False переменной Counter.visible

6. Вызываемые модули:

 

1. Имя: Counter.SetValue

2. Язык:  Object Pascal 7.0

3. Осн. функция: Устанавливает значение счётчика

4. Входная инф.:  NewValue – новок значение счётчика

5. Выходная инф.:

6. Вызываемые модули:  Counter.HideVal,  Counter.ShowVal

 

1. Имя: Counter.Increment

2. Язык:  Object Pascal 7.0

3. Осн. функция: Увеличивает  на 1 значение счётчика

4. Входная инф.: 

5. Выходная инф.:

6. Вызываемые модули: Counter.SetValue

 

 

 

1. Имя: Counter.Decrement

2. Язык:  Object Pascal 7.0

3. Осн. функция: Уменьшает  на 1 значение счётчика

4. Входная инф.: 

5. Выходная инф.:

6. Вызываемые модули: Counter.SetValue

 

1. Имя: Counter.Add

2. Язык:  Object Pascal 7.0

3. Осн. функция: Увеличивает на Incr значение счётчика

4. Входная инф.:  Incr

5. Выходная инф.:

6. Вызываемые модули: Counter.SetValue

 

1. Имя: Counter.Reset

2. Язык:  Object Pascal 7.0

3. Осн. функция: Сбрасывает значение счётчика

4. Входная инф.: 

5. Выходная инф.:

6. Вызываемые модули: Counter.SetValue

 

1. Имя: Counter.Equal

2. Язык:  Object Pascal 7.0

3. Осн. функция: Сравнивает передаваемое значение счётчика с текущим

4. Входная инф.:  TestValue

5. Выходная инф.: False или True

6. Вызываемые модули:

 

1. Имя: Counter.GetValue

2. Язык:  Object Pascal 7.0

3. Осн. функция: Возвращает текущее значение счётчика

4. Входная инф.: 

5. Выходная инф.: текущее значение счётчика

6. Вызываемые модули:

 

1. Имя: DownCounter.Init

2. Язык:  Object Pascal 7.0

3. Осн. функция: инициализирует счетчик

4. Входная инф.: InitValue, InitX, InitY, InitMin,InitName, InitAttr

5. Выходная инф.:

6. Вызываемые модули: Counter.Init

 

1. Имя: DownCounter.Decrement

2. Язык:  Object Pascal 7.0

3. Осн. функция: декрементирует счетчик

4. Входная инф.:

5. Выходная инф.:

6. Вызываемые модули: Counter.Decrement

 

 

1. Имя: DownCounter.Add

2. Язык:  Object Pascal 7.0

3. Осн. функция: увеличивает  счетчик на Incr

4. Входная инф.:Incr

5. Выходная инф.:

6. Вызываемые модули: DownCounter.SetValue, DownCounter.GetValue

 

1. Имя: DownCounter.Last

2. Язык:  Object Pascal 7.0

3. Осн. функция: сравнивает текущее значение счетчика с минимальным

4. Входная инф.:

5. Выходная инф.: False или True

6. Вызываемые модули:

 

1. Имя: LimitCounter.Init

2. Язык:  Object Pascal 7.0

3. Осн. функция: инициализирует счетчик

4. Входная инф.: InitValue,InitX,InitY,InitMin,InitMax ,InitName ,InitAttr

5. Выходная инф.:

6. Вызываемые модули: DownCounter.Init

 

1. Имя: LimitCounter.Increment

2. Язык:  Object Pascal 7.0

3. Осн. функция: Увеличивает  на 1 значение счётчика

4. Входная инф.: 

5. Выходная инф.:

6. Вызываемые модули: Counter.Increment

 

1. Имя: LimitCounter.Add

2. Язык:  Object Pascal 7.0

3. Осн. функция: увеличивает  счетчик на Incr

4. Входная инф.:Incr

5. Выходная инф.:

6. Вызываемые модули:LimitCounter.SetValue

 

1. Имя: Block.Init

2. Язык:  Object Pascal 7.0

3. Осн. функция: создает и инициализирует объект Block

4. Входная инф.: InitX, InitY, InitColor, InitWidth, InitChr

5. Выходная инф.:

6. Вызываемые модули: Location.Init

 

1. Имя: Block.Show

2. Язык:  Object Pascal 7.0

3. Осн. функция: отображает объект Block на экране

4. Входная инф.:

5. Выходная инф.:

6. Вызываемые модули: Location.Show

 

1. Имя: Block.Hide

2. Язык:  Object Pascal 7.0

3. Осн. функция: скрывает объект Block

4. Входная инф.:

5. Выходная инф.:

6. Вызываемые модули: Location.Hide

 

1. Имя: Brick.Init

2. Язык:  Object Pascal 7.0

3. Осн. функция: создает и инициализирует объект Brick

4. Входная инф.: InitX, InitY, InitColor, InitValue

5. Выходная инф.:

6. Вызываемые модули: Block.Init

 

1. Имя: Block.GetValue

2. Язык:  Object Pascal 7.0

3. Осн. функция: возвращает значение Value

4. Входная инф.:

5. Выходная инф.: Value

6. Вызываемые модули:

 

1. Имя: Ball.Init

2. Язык:  Object Pascal 7.0

3. Осн. функция: создает и инициализирует объект Block

4. Входная инф.: InitX, InitY, InitColor, InitXVel, InitYVel

5. Выходная инф.:

6. Вызываемые модули: Block.Init

 

1. Имя: Ball.NextX

2. Язык:  Object Pascal 7.0

3. Осн. функция: возвращает значение абсциссы + шаг

4. Входная инф.:

5. Выходная инф.:

6. Вызываемые модули:

 

1. Имя: Ball.NextY

2. Язык:  Object Pascal 7.0

3. Осн. функция: возвращает значение ординаты + шаг

4. Входная инф.:

5. Выходная инф.:

6. Вызываемые модули:

 

1. Имя: Ball.MoveX

2. Язык:  Object Pascal 7.0

3. Осн. функция: перемещает объект Ball

4. Входная инф.:

5. Выходная инф.:

6. Вызываемые модули: Ball.Hide,Ball.Show,Ball.NextX

 

1. Имя: Ball.ReverseX

2. Язык:  Object Pascal 7.0

3. Осн. функция: изменяет знак шага по оси X

4. Входная инф.:

5. Выходная инф.:

6. Вызываемые модули:

 

1. Имя: Ball.ReverseY

2. Язык:  Object Pascal 7.0

3. Осн. функция: изменяет знак шага по оси Y

4. Входная инф.:

5. Выходная инф.:

6. Вызываемые модули:

 

1. Имя: Ball.ChangeVel

2. Язык:  Object Pascal 7.0

3. Осн. функция: изменяет величину шага на величину Delta

4. Входная инф.: Delta

5. Выходная инф.:

6. Вызываемые модули:

 

1. Имя: Obstackle.Init

2. Язык:  Object Pascal 7.0

3. Осн. функция: создает и инициализирует объект Obstackle

4. Входная инф.: InitX, InitY, InitWidth ,SetTrap

5. Выходная инф.:

6. Вызываемые модули: Location.Init

 

1. Имя: Obstackle.Done

2. Язык:  Object Pascal 7.0

3. Осн. функция: деструктор объекта Obstackle

4. Входная инф.:

5. Выходная инф.:

6. Вызываемые модули:

 

1. Имя: Obstackle.Collide

2. Язык:  Object Pascal 7.0

3. Осн. функция:

4. Входная инф.: объект Ball

5. Выходная инф.: true

6. Вызываемые модули:

 

1. Имя: Obstackle.IsTrap

2. Язык:  Object Pascal 7.0

3. Осн. функция: возвращает значение Trap

4. Входная инф.:

5. Выходная инф.: Trap

6. Вызываемые модули:

 

1. Имя: Obstackle.GetValue

2. Язык:  Object Pascal 7.0

3. Осн. функция: возвращает 0

4. Входная инф.:

5. Выходная инф.: 0

6. Вызываемые модули:

1. Имя: ObstackleList.Init

2. Язык:  Object Pascal 7.0

3. Осн. функция: создает и инициализирует объект ObstackleList

4. Входная инф.:

5. Выходная инф.:

6. Вызываемые модули: Obstackle.Init

 

1. Имя: ObstackleList.Done

2. Язык:  Object Pascal 7.0

3. Осн. функция: деструктор

4. Входная инф.:

5. Выходная инф.:

6. Вызываемые модули: Obstackle.NextPtr, Obstackle.Done

 

1. Имя: ObstackleList.Append

2. Язык:  Object Pascal 7.0

3. Осн. функция: добавляет экземпляр объекта Obstackle

4. Входная инф.:

5. Выходная инф.:

6. Вызываемые модули: Obstackle.NextPtr

 

1. Имя: ObstackleList.Show

2. Язык:  Object Pascal 7.0

3. Осн. функция: отображает объект ObstackleList

4. Входная инф.:

5. Выходная инф.:

6. Вызываемые модули: Obstackle.NextPtr, Obstackle.Show

 

1. Имя: ObstackleList.Hide

2. Язык:  Object Pascal 7.0

3. Осн. функция: скрывает объект ObstackleList

4. Входная инф.:

5. Выходная инф.:

6. Вызываемые модули: Obstackle.NextPtr, Obstackle.Hide

 

1. Имя: ObstackleList.CheckCollisions

2. Язык:  Object Pascal 7.0

3. Осн. функция: функция: осуществляет проверку на возможные коллизии с объектами на экране

4. Входная инф.: объекты Ball и Counter

5. Выходная инф.: true или false

6. Вызываемые модули: Obstackle.NextPtr, Obstackle.Collide, Obstackle.GetValue, Counter.Add, Obstackle.IsTrap

 

1. Имя: Paddle.Init

2. Язык:  Object Pascal 7.0

3. Осн. функция: создает и инициализирует объект Paddle

4. Входная инф.: InitX, InitY, InitColor

5. Выходная инф.:

6. Вызываемые модули: Obstackle.Init

 

1. Имя: Paddle.Done

2. Язык:  Object Pascal 7.0

3. Осн. функция: деструктор

4. Входная инф.:

5. Выходная инф.:

6. Вызываемые модули: Obstackle.Done

 

1. Имя: Paddle.Show

2. Язык:  Object Pascal 7.0

3. Осн. функция: отображает объект Paddle

4. Входная инф.:

5. Выходная инф.:

6. Вызываемые модули: Location.Show

 

1. Имя: Paddle.Show

2. Язык:  Object Pascal 7.0

3. Осн. функция: скрывает объект Paddle

4. Входная инф.:

5. Выходная инф.:

6. Вызываемые модули: Location.Hide

 

1. Имя: Paddle.MoveTo

2. Язык:  Object Pascal 7.0

3. Осн. функция: изменяет координаты Paddle

4. Входная инф.: новые координаты

5. Выходная инф.:

6. Вызываемые модули: Paddle.Hide, Paddle.Show

 

1. Имя: Paddle.Collide

2. Язык:  Object Pascal 7.0

3. Осн. функция: проверка на встречу шарика и биты и изменение направления движения шарика,если встреча произошла

4. Входная инф.: Ball

5. Выходная инф.: true или false

6. Вызываемые модули: Ball.NextX,Ball.NextY,Ball.ReverseY,Ball.ChangeVelX, Ball.GetX

 

1. Имя: Boundary.Init

2. Язык:  Object Pascal 7.0

3. Осн. функция: создает и инициализирует объект Boundary

4. Входная инф.: InitX, InitY, InitWidth,SetTrap

5. Выходная инф.:

6. Вызываемые модули: Obstackle.Init

 

1. Имя: LeftBound.Init

2. Язык:  Object Pascal 7.0

3. Осн. функция: создает и инициализирует объект LeftBound

4. Входная инф.: InitX, InitY, InitWidth,SetTrap

5. Выходная инф.:

6. Вызываемые модули: Boundary.Init

 

1. Имя: RightBound.Init

2. Язык:  Object Pascal 7.0

3. Осн. функция: создает и инициализирует объект RightBound

4. Входная инф.: InitX, InitY, InitWidth,SetTrap

5. Выходная инф.:

6. Вызываемые модули: Boundary.Init

 

1. Имя: UpperBound.Init

2. Язык:  Object Pascal 7.0

3. Осн. функция: создает и инициализирует объект UpperBound

4. Входная инф.: InitX, InitY, InitWidth,SetTrap

5. Выходная инф.:

6. Вызываемые модули: Boundary.Init

 

1. Имя: LowerBound.Init

2. Язык:  Object Pascal 7.0

3. Осн. функция: создает и инициализирует объект LowerBound

4. Входная инф.: InitX, InitY, InitWidth,SetTrap

5. Выходная инф.:

6. Вызываемые модули: Boundary.Init

 

1. Имя: LeftBound.Collide

2. Язык:  Object Pascal 7.0

3. Осн. функция: изменяет направление движения шарика и возвращает true в случае встречи шарика и стенки

4. Входная инф.: Ball

5. Выходная инф.: true или false

6. Вызываемые модули: Ball.NextX,BallNextY,Ball.ReverseX

 

1. Имя: RightBound.Collide

2. Язык:  Object Pascal 7.0

3. Осн. функция: изменяет направление движения шарика и возвращает true в случае встречи шарика и стенки

4. Входная инф.: Ball

5. Выходная инф.: true или false

6. Вызываемые модули: Ball.NextX,BallNextY,Ball.ReverseX

 

1. Имя: UpperBound.Collide

2. Язык:  Object Pascal 7.0

3. Осн. функция: изменяет направление движения шарика и возвращает true в случае встречи шарика и стенки

4. Входная инф.: Ball

5. Выходная инф.: true или false

6. Вызываемые модули: Ball.NextX,BallNextY,Ball.ReverseY

 

1. Имя: LowerBound.Collide

2. Язык:  Object Pascal 7.0

3. Осн. функция: изменяет направление движения шарика и возвращает true в случае встречи шарика и стенки

4. Входная инф.: Ball

5. Выходная инф.: true или false

6. Вызываемые модули: Ball.NextX,BallNextY,Ball.ReverseY

 

1. Имя: RundomColor

2. Язык:  Object Pascal 7.0

3. Осн. функция: Возвращает случайный код цвета меньше MaxColor

4. Входная инф.: MaxColor

5. Выходная инф.: код цвета

6. Вызываемые модули:

 

1. Имя: Beep

2. Язык:  Object Pascal 7.0

3. Осн. функция: Выдаёт звуковой сигнал с жёстко заданной высотой звыку и временем звучания

4. Входная инф.:

5. Выходная инф.:

6. Вызываемые модули:

 

1. Имя: Wall.Init

2. Язык:  Object Pascal 7.0

3. Осн. функция: создает и инициализирует объект Wall.

4. Входная инф.: InitX, InitY, InitWidth, InitHeight

5. Выходная инф.: 

6. Вызываемые модули:  Obstacle.init, Wall.reset

 

1. Имя: Wall.Done

2. Язык:  Object Pascal 7.0

3. Осн. функция: деструктор объекта Wall.

4. Входная инф.:

5. Выходная инф.: 

6. Вызываемые модули: 

 

1. Имя: Wall.Show

2. Язык:  Object Pascal 7.0

3. Осн. функция: Отображает объект Wall.

4. Входная инф.:

5. Выходная инф.: 

6. Вызываемые модули: Brick.Show

 

1. Имя: Wall.Hide

2. Язык:  Object Pascal 7.0

3. Осн. функция: Скрывает объект Wall.

4. Входная инф.:

5. Выходная инф.: 

6. Вызываемые модули: Brick.Hide

 

1. Имя: CheckCollide

2. Язык:  Object Pascal 7.0

3. Осн. функция:  Проверяется присутсвие шарика в площади стены и затем, если в позиции занимаемой шариком есть видимый кирпичик, то он уничтожается.

4. Входная инф.: Xpos, Ypos

5. Выходная инф.:  True  или false

6. Вызываемые модули: Beep, Brick.IsVisible, Brick.GetValue, Brick.hide, Wall.Show

 

1. Имя: Wall.Collide

2. Язык:  Object Pascal 7.0

3. Осн. функция: После проверки на соприкосновение со стеной определяется направление движения шарика при отражении от  стены, в зависимости от того с какой стороны шарик соприкоснулся с кирпичиком.

4. Входная инф.: Ball

5. Выходная инф.: True или False

6. Вызываемые модули: CheckCollide, Ball.ReverseX, Ball.ReverseY, Ball.NextX,

Ball.NextY

 

1. Имя: Wall.GetValue

2. Язык:  Object Pascal 7.0

3. Осн. функция: возвращает значение Value.

4. Входная инф.:

5. Выходная инф.:  Value

6. Вызываемые модули:

 

1. Имя: Wall.Reset

2. Язык:  Object Pascal 7.0

3. Осн. функция: Рисует стену заново Wall.

4. Входная инф.:

5. Выходная инф.: 

6. Вызываемые модули: Brick.Init, RandomColor, Wall.Show.

5.7. Описание объектов программы

5.7.1. Объект Location

Имя объекта: Location

Язык программирования: Object Pascal 7.0

Свойства объекта:

Имя

Тип

Описание

X

Integer

Координата объекта по оси абсцисс

Y

Integer

Координата объекта по оси ординат

Visible

Boolean

Флаг видимости объекта

 

Используемые методы класса (описания методов см. в пункте 5.6):

Init, Relocate, MoveTo, Show, Hide, GetX, GetY, IsVisible

5.7.2. Объект TextString

Имя объекта: TextString

Родитель: объект Location

Язык программирования: Object Pascal 7.0

Свойства объекта:

Имя

Тип

Описание

Text

String

Строка сообщения

Attr

Byte

Атрибут текста

 

Используемые методы класса (описания методов см. в пункте 5.6):

Init, Show, Hide

 

5.7.3. Объект Counter

Имя объекта: Counter

Родитель: объект TextString

Язык программирования: Object Pascal 7.0

Свойства объекта:

Имя

Тип

Описание

Value

Integer

Текущее значение счетчика

BaseValue

Integer

Начальное значение счетчика (после инициализации)

 

Используемые методы класса (описания методов см. в пункте 5.6):

Init, Show, Hide, ShowVal, HideVal, SetValue, Reset, Increment, Decrement, Add, Equal, GetValue

 

5.7.4. Объект DownCounter

Имя объекта: DownCounter

Родитель: объект Counter

Язык программирования: Object Pascal 7.0

Свойства объекта:

Имя

Тип

Описание

Minimum

Integer

Минимальное возможное значение счетчика

 

Используемые методы класса (описания методов см. в пункте 5.6):

Init, Decrement, Add, Last

 

5.7.5. Объект LimitCounter

Имя объекта: LimitCounter

Родитель: объект DownCounter

Язык программирования: Object Pascal 7.0

Свойства объекта:

Имя

Тип

Описание

Maximum

Integer

Максимальное возможное значение счетчика

 

Используемые методы класса (описания методов см. в пункте 5.6):

Init, Increment, Add

 

5.7.6. Объект Cursor

Имя объекта: Cursor

Родитель: объект Location

Язык программирования: Object Pascal 7.0

Свойства объекта:

Имя

Тип

Описание

OldCursor

Integer

Старое значение положения курсора на экране

TempCursor

Integer

Текущее значение положения курсора на экране

 

Используемые методы класса (описания методов см. в пункте 5.6):

Show, Hide, SetCursor, GetCursor, MoveTo, Save, Restore, SpeedUp, Slowdown

 

5.7.7. Объект  SaveScreen

Имя объекта: SaveScreen

Родитель: объект Cursor

Язык программирования: Object Pascal 7.0

Свойства объекта:

Имя

Тип

Описание

OldAttr

Byte

Старое значение атрибутов экрана

 

Используемые методы класса (описания методов см. в пункте 5.6):

Init, Save, Restore

 

5.7.8. Объект  Block

Имя объекта: Block

Родитель: объект Location

Язык программирования: Object Pascal 7.0

Свойства объекта:

Имя

Тип

Описание

Color

Integer

Цвет обекта

Width

Integer

Ширина объекта

Bchar

Char

Символ заполнения

 

Используемые методы класса (описания методов см. в пункте 5.6):

Init, Show, Hide

 

5.7.9. Объект Brick

Имя объекта: Brick

Родитель: объект Block

Язык программирования: Object Pascal 7.0

Свойства объекта:

Имя

Тип

Описание

Value

Integer

Значение числа объектов при инициализции

 

Используемые методы класса (описания методов см. в пункте 5.6):

Init, GetValue

 

5.7.10. Объект Ball

Имя объекта: Ball

Родитель: объект Block

Язык программирования: Object Pascal 7.0

Свойства объекта:

Имя

Тип

Описание

Xvel

Integer

Значение скорости движения объекта по оси абсцисс

YVel

Integer

Значение скорости движения объекта по оси ординат

 

Используемые методы класса (описания методов см. в пункте 5.6):

NextX, NextY, MoveX, MoveY, ReverseX, ReverseY, ChangeXVel

 

5.7.11. Объект Obtackle

Имя объекта: Obtackle

Родитель: объект Location

Язык программирования: Object Pascal 7.0

Свойства объекта:

Имя

Тип

Описание

Width

Integer

Значение ширины объекта

Trap

Boolean

Флаг, указывающий на соприкосновение мяча и «кирпичика»

NextPtr

Obtackle

Указатель на следующий объект Obtackle

 

Используемые методы класса (описания методов см. в пункте 5.6):

Init, Done, IsTrap, GetValue, Collide

 

5.7.12. Объект Wall

Имя объекта: Wall

Родитель: объект Obtackle

Язык программирования: Object Pascal 7.0

Свойства объекта:

Имя

Тип

Описание

BrickWall

Brick

Указатель на массив объектов Brick

Height

Integer

Значение высоты объекта

NumLeft

Integer

Число объектов Brick в левой части экрана

Value

Integer

Значение по умолчанию 

Ncells

Integer

Число ячеек в стене

 

Используемые методы класса (описания методов см. в пункте 5.6):

Init, Show, Hide, Collide, GetValue, Reset

 

 

5.7.13. Объект Paddle

Имя объекта Paddle

Родитель: объект Obtackle

 

Язык программирования: Object Pascal 7.0

 

Свойства объекта:

 

Имя

Тип

Описание

Color

Byte

Цвет объекта

 

Используемые методы класса (описания методов см. в пункте 5.6):

Init, Done, Show, Hide, Collide, MoveTo

 

5.7.14. Объект Boundary

Имя объекта Boundary

Родитель: объект Obtackle

Язык программирования: Object Pascal 7.0

Свойства объекта: нет

 Используемые методы класса (описания методов см. в пункте 5.6):

Init

 

5.7.15. Объект LeftBound

Имя объекта LeftBound

Родитель: объект Boundary

Язык программирования: Object Pascal 7.0

Свойства объекта: нет

Используемые методы класса (описания методов см. в пункте 5.6):

Init, Collide

 

5.7.16. Объект RightBound

Имя объекта RightBound

Родитель: объект Boundary

Язык программирования: Object Pascal 7.0

Свойства объекта: нет

Используемые методы класса (описания методов см. в пункте 5.6):

Init, Collide

 

5.7.17. Объект UpperBound

Имя объекта UpperBound

Родитель: объект Boundary

Язык программирования: Object Pascal 7.0

Свойства объекта: нет

Используемые методы класса (описания методов см. в пункте 5.6):

Init, Collide

 

5.7.18. Объект LowerBound

Имя объекта LowerBound

Родитель: объект Boundary

Язык программирования: Object Pascal 7.0

Свойства объекта: нет

Используемые методы класса (описания методов см. в пункте 5.6):

Init, Collide

5.7.19. Объект ObtackleList

Имя объекта: ObtackleList

Язык программирования: Object Pascal 7.0

Свойства объекта:

Имя

Тип

Описание

 

Head

Obtackle

Указатель на начальный объект Obtackle

Tail

Obtackle

Указатель на конечный объект Obtackle

 

Используемые методы класса (описания методов см. в пункте 5.6):

Init, Show, Hide, Append, Done, CheckCollisions

6. Используемые технические средства

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

1) Компьютер модели VIST 200-S.

7. план мероприятий по разработке программы

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

Тестирование проходит в соответствии с модифицированным нисходящим методом.

 

 

 

 

 

Приложение 1

Структура файла лучших игроков

 

1. Внешние спецификации файла лучших игроков

 

Наименование — “wow!.wow”.

Тип файла — текстовый.

2. Структура файла лучших игроков

 

Смещение от начала файла

Длина поля

Значение поля

0

19

Строка имени пользователя_1

20

10

Строка суммы очков, набранных в игре пользователем_1

30

20

Строка имени пользователя_2

50

10

Строка  суммы очков, набранных пользователем_2

. . .

. . .

. . .

271

20

Строка имени пользователя_10

291

10

Строка суммы очков, набранных пользователем_10                                                  

Просмотров: 910     Дата: 2014-08-03

Еще скачать:


Ocнoвныe пoнятия вeктopнoгo aнaлизa
А.С. Макаренко о воспитании детей в семье и современные проблемы семейного воспитания
Тоталитарный политический режим.
Cтруктура налоговой сиcтемы России
Русско-литовская война 1500–1503