МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Тема: “Игровая программа “TETRIS”
Выполнил:
студент гр. ВЗ-107 Афонин В.Ю.
Проверил:
к. т. н., доцент Цехоня Вячеслав Иванович
Таганрог - 2000
Задание.
Написать на языке PASCAL и отладить в интерактивном режиме игровую программу TETRIS.
Основное внимание необходимо уделить процессу нисходящего поуровневого проектирования алгоритма.
Оглавление.
1. Техническое задание ...............................................................….......... стр. 3.
2. Практическая часть .
2.1. Пояснительная записка (технический проект) .................….…........ стр. 4.
2.2. Руководство (системного) программиста ........................…....…...... стр. 7.
2.3. Руководство оператора (пользователя) ...............................……....... стр. 8.
2.4. Описание программы ............................................................….…..... стр. 9.
3. Заключение .................................................................................…........ стр. 10.
4. Литература ..................................................................................…........ стр. 11.
5. Приложения.
5.1. Текст программы .....................................................................…........ стр. 12.
Техническое задание (ГОСТ 19.201-78).
1.Введение.
Наименование программы - "TETRIS". Применение программы - в области игровых программ.
2. Основание для разработки.
Выполнение курсовой работы.
3. Назначение разработки.
Данная программа является игровой, она применяется для развлечения пользователей, совершенствования их координации движения и логического мышления.
4. Требования к программе.
4.1. Требования к функциональным характеристикам.
В состав программы входят функции отображения на экране двужущихся фигурок, параллельного переноса их вправо и влево, поворота вокруг собственной оси, быстрого падения на дно короба и ряд вспомогательных функций (контроль наложения фигур, отображение элементов фигур и т.д.).
Входные данные - коды нажимаемых клавиш.
Выходные данные - графическая информация, выводимая на экран.
В работе программы временные характеристики несущественны.
4.2. Требования к надежности.
Надежное функционирование программы обеспечивается проверкой наложения при перемещении фигур и ограничением, накладываемым на набор входных данных (коды нажатых клавиш игнорируются, если эти клавиши не являются управляющими в игре).
4.3. Требования к составу и параметрам технических средств ЭВМ, внешние устройства, их характеристики.
Для функционирования программы требуется персональная ЭВМ с процессором 8086/8088, от 640 килобайт оперативной памяти, видеоадаптер VGA/EGA и соответствующий монитор. Прочие внешние устройства для работы программы не требуются.
4.4. Требования к информационной и программной совместимости ОС, система программирования, используемые программные средства, методы решения, информационные структуры и т.п.
Для функционирования программы требуется ОС MS-DOS версии 3.30 или выше, от 32 килобайт свободной оперативной памяти. Программа разработана в интегрирированной среде Turbo Pascal версии 7.0.
4.5. Специальные требования.
Специальные требования отсутствуют.
5. Требования к программной документации.
Требования к программной документации отсутствуют.
6. Технико-экономические показатели. Ориентировочная экономическая эффективность, преимущества по сравнению с аналогами.
Преимуществом по сравнению с аналогом является постоянное увеличение скорости игры.
Практическая часть.
Пояснительная записка (ГОСТ 19.404-79)
1. Введение
Наименование программы - "TETRIS", основание разработки - выполнение курсовой работы.
2. Назначение и область применения программы.
Назначение программы - развлечение играющих, совершенствование их координации и логического мышления. Программа может применяться в качестве игровой на разных типах персональных компьютеров.
3. Технические характеристики.
3.1. Постановка задачи на разработку, описание методов решения.
Разработать алгоритм программы, осуществляющей передвижение фигур по экрану сверху вниз, координацию их местоположения в соответствии с действиями играющего.
Фигуры состоят из квадратов одинакового размера, набор фигур конечен, последовательность появления фигур должна быть случайной, причем появления фигур должны быть равновероятными. Игрок должен укладывать фигуры на дно ящика с наибольшей плотностью (количество незаполненных квадратов должно быть минимальным). При этом если слой, полностью заполненный квадратами, должен автоматически изыматься из ящика. Квадраты фигур не должны налагаться друг на друга. Поворот фугры вокруг своей оси должен осуществляться таким образом, чтобы не были задеты другие фигуры, стенки, дно ящика.
3.2. Описание алгоритма и/или функционирования программы
3.3. Описание и обоснование выбора метода организации данных.
Данные | Метод организации |
Фигура | Двумерный массив-наиболее естественное представление, например: |
Ящик | Двумерный массив, элемент которого-целое число - соответствует свободной или занятой ячейке. |
Каталог фигур | Массив из приведенных выше матриц. |
Ширина, высота ящика,количество цветов и фигур; флаги наложения, достижения дна ящика, свободной ячейки и др. | Константы |
3.4. Описание и обоснование выбора состава технических и программных средств.
Для написания программы был выбран язык Паскаль. Отказ от библиотеки Turbo Vision был продиктован невозможностью работы с этой библиотекой в графическом режиме.
4. Ожидаемые технико-экономические показатели.
Ожидаемая разработка будет отличаться низкими требованиями к аппаратной части ЭВМ.
5. Источники, используемые при разработке.
При разработке используется статья "Новый мотор для старой идеи" из журнала "Монитор" № 3 за 1994 год.
Приложения отсутствуют.
Руководство (системного) программиста (ГОСТ 19.504-79).
1. Назначение и условие применения программы.
Назначение программы - развлечение играющих, совершенствование их координации и логического мышления. Программа может применяться в качестве игровой на разных типах персональных компьютеров и распространяется на условиях freeware.
2. Характристики программы.
Программа запускается под управлением операционной системы MS-DOS версии 3.30 и выше из каталога, в котором содержится драйвер видеоадаптера egavga.bgi. Для её работы требуется от 32 килобайтов свободной оперативной памяти, видеоадаптер EGA/VGA и процессор 8086/8088 и выше.
3. Обращение к программе.
Обращение к программе осуществляется командой tetris.
4. Входные и выходные данные.
Входные данные - коды нажатых в режиме реального времени клавиш. Выходные данные - графическая информация на дисплее.
5. Сообщения (сообщения системному программисту).
Для нормальной (без замедления) работы программы на ЭВМ AT 286 или ЭВМ
PC XT рекомендуется уменьшить значение, присваиваемое переменной speed, в 2-3
раза. По аналогии рекомендуется увеличить это значение при использовании
программы на ЭВМ AT 486 и PENTIUM. После этого программу рекомендуется
перекомпилировать.
6. Структура программы.
Исходный текст программы хранится в 1-м файле: tetris.pas.
Компиляция в турбо-среде осуществляется с использованием файла tetris.pas.
7. Настройка программы.
Программа готова к работе, настройки не требует.
8. Проверка программы.
Проверка работоспособности программы осуществляется в следующих случаях:
- независание фигуры при падении;
- падение фигуры до дна ящика;
- невыход фигуры за границы ящика;
- сдвиг фигуры и поворот её на расстоянии от стенок;
- сдвиг фигуры вблизи стенки и поворот её (при этом не должно происходить наложение фигуры на границу ящика);
- неналожение фигуры при достижении лежащих на дне ящика других фигур;
- изъятие слоя, не содержащего пустых ячеек (все ячейки заполнены квадратами фигур);
- "оседание" слоев при изъятии слоя, не содержащего пустых ячеек;
- окончание игры при заполнении ящика или по команде игрока.
9. Дополнительные возможности.
Дополнительные возможности отсутствуют.
Приложения отсутствуют.
Руководство оператора (пользователя) (ГОСТ 19.505-79).
1. Назначение программы.
Назначение программы - развлечение играющих, совершенствование их координации и логического мышления.
2. Условия выполнения программы.
Программа запускается под управлением операционной системы MS-DOS версии 3.30 и выше из каталога, в котором содержится драйвер видеоадаптера egavga.bgi. Для её работы требуется от 32 килобайтов свободной оперативной памяти, видеоадаптер EGA/VGA и процессор 8086/8088 и выше.
3. Выполнение программы.
Запуск программы осуществляется командой tetris из каталога, содержащего файлы tetris.exe и egavga.bgi. При запуске появляется окно с названием программы, прекратить вывод которого можно нажатием на клавишу <ENTER>. После этого на экране появляется ящик с падающими фигурами. Управление игрой осуществляется следующими клавишами:
Название клавиши | Выполняемая функция |
Стрелка вправо | Сдвиг фигуры вправо |
Стрелка влево | Сдвиг фигуры влево |
Стрелка вверх | Поворот фигуры вокруг собственной оси |
Стрелка вниз | Падение фигуры до дна ящика |
ESC | Окончание игры |
4. Сообщения оператору.
При работе прогрммы на машинах PC AT 286 или PC XT рекомендуется уменьшить значения, присваиваемые переменной speed в 2-3 раза для того, чтобы скорость падения фигур была приемлемой для игры.