Контрольная работа: Написание игры "Змейка" средствами языка Turbo Pascal
Координаты каждой части змейки хранятся в матрице, при нажатии определенной клавиши они меняются и змейка движется.
При совпадении координат еды и начала змейки (поедание еды змейкой) координаты еды произвольно меняются, длина змейки увеличивается на один сегмент.
Программа постоянно проверяет, нет ли пересечения змейкой границ поля. Если это случается, то выводится сообщение о проигрыше и меню с предложение вытйти из игры.
В случае, когда игрок собирает всю еду и змейка достигает максимальной длины появляется сообщение о выигрыше.
5. Функциональное описание
В данной программе используются:
Тип данных созданный пользователем:
spoint=record; {тип данных для точки}
Консанты:
maxwidth=10; {максимальная длина змейки}
Переменные:
width:integer;{длина змейки}
e:spoint;{координаты еды}
snakebody: array [1..maxwidth] ofspoint; {координаты частей тела змейки}
i{счетчик цикла}, nx, ny:integer;{координаты головы змейки}
v:byte;{вектор направления головы змейки}
gameover:boolean;{флаг окончания игры}
key:char;{буфер клавиши}
Процедуры и функции:
functionchecknext (x:integer; y:integer):boolean; {проверяет свободна ли клетка и не выходит ли она за границы поля}
procedureneweat; {создает еду на поле}
procedure movesnake(x,y:integer); {перемещаетзмейку}
Заключение
В ходе проделанной работы был изучен текстовый режим языка программирования TurboPascal, рассмотрены и применены процедуры и функции.
Список используемой литературы
1. Малыхина М.П. Программирование на языке высокого уровня TurboPascal. –издательство «СПб:БХВ-Петербург», 2006.
2. Павловская Т.А. Паскаль. Программирование на языке высокого уровня — издательство Питер 2008.
3. http://www.nesterova.ru
Приложение 1:
·Листинг программы
{
=============================================================
APPOINTMENT : Play "Snake"