Программирование игры "Змейка"
Курсовая работа, 09 Февраля 2011, автор: пользователь скрыл имя
Описание работы
Курсовий проект складається зі вступу , двох розділів , висновків , списку використаної літератури , графічної частини та додатків. Текст пояснювальної записки набрано та розрдуковано з використанням текстового редактора Word. Графічна частина виконана з допомогою графічного редактора Visio.
Содержание работы
Вступ…………………………………………………………....3.
1.ТЕОРЕТИЧНА ЧАСТИНА………………………………….5.
1.1.Постановка задачі………………………………………....5.
2.ПРАКТИЧНА ЧАСТИНА…………………………………...6.
2.1.Архітектура програми…………………………………….6.
2.2.Опис програми………………………………………….....8.
2.3.Контрольний приклад………………………………………
та аналіз результатів машинного експерименту……………13.
ВИСНОВКИ……………………………………………………18.
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ…………………18.
ДОДАТКИ……………………………………………………...19.
Файлы: 1 файл
Курсовая.doc
— 267.50 Кб (Скачать файл) Перегляд
раніше записаних результатів
Розроблена
програма-гра дає можливість добре
відпочити після тривалого
Висновки.
Розв’язування задач обчислювального
характеру з використанням персональних
комп’ютерів має велике практичне значення,
оскільки дає можливість значно економити
час при виконанні простих , але громістких
обчислень. Використання з цією метою
готових пакетів прикладних програм для
виконання математичних обчислень має
певні вади. Ліцензовані пакети прикладних
програм мають високу вартість і достатньо
високу складність експлуатації. Тому
їх використання для розв’язування нескладних
задач (а саме такою є сортування масиву)
є недоцільним. Надзвичайно важливо вміти
самостійно складати прості програми
для розв’язування задач обчислювального
характеру.
В даному курсовому проекті розроблено
і описано програму-гру «Змійка». Для розробки
програми вибрано мову Паскаль (середовище
Borland Pascal) . Програма розроблена із застосуванням
методики процедурного проектування.
Програма відкомпільована з отриманням
ехе-файла та відладжена.
Вибір алгоритмічної мови
Список
використаної літератури:
- Т.В. Ковалюк, видавнича група «BHV», 2005- «ОСНОВИ ПРОГРАММУВАННЯ».
ДОДАТКИ
Додаток 2.
Лістинг
програми.
001}Program ZMEjKA;
002}uses CRT;
003}label 1;
004}type result=record
005} scor:integer;
006} name:string[15];
007} len:integer;
008} end;
009} res=file of result;
010}
Var
011} f:
012}SnakeX,SnakeY: array[1..4000] of longint;
013}HeadX,HeadY:
014}BonusX,BonusY: array[1..40] of longint;
015}DeathX,DeathY: array[1..30] of longint;
016}Dlina,Naprav:
017}key:
018}i,score:
019}MenuItem: array[1..6] of string;
020}DTime,ScorePlus,
{---------------------------
021}Procedure Ramka(x,y:integer);
022}Begin
023}TextColor(2);
024} TextBackground(0);
025}gotoxy(x,y);
026} writeln('╔═ ЗМЕЙКА 0.1 ══════╗');
027} gotoxy(x,y+1);
028} writeln('║ VERY SLOW ║');
029} gotoxy(x,y+2);
- } writeln('║ SLOW ║');
- } gotoxy(x,y+3);
- } writeln('║ MEDIUM ║');
- } gotoxy(x,y+4);
- } writeln('║ HIGH ║');
- } gotoxy(x,y+5);
- } writeln('║ VERY HIGH ║');
- } gotoxy(x,y+6);
- }writeln('║ RESULT ║');
- }gotoxy(x,y+7);
- }writeln('╚═══════════════════
╝'); - }gotoxy(x,y+8);
- }textcolor(14);
- }writeln(' Виберiть рiвень ');
- }textcolor(0);
- }gotoxy(1,1);
- }End;
{---------------------------
- } Procedure Symbol(x,y:integer; sym:char);
- } Begin
- } gotoxy(x,y);
- } write(sym);
- } gotoxy(1,1);
- } End;
{---------------------------
- } Procedure Rezultat(var d:res;scr,dl:integer);
- } var f1:result;
- } Begin
- } {$I-}
- } Reset(d);
- } {$I+}
- } IF IOResult<>0 THen rewrite(d);
- } clrscr;
- } gotoxy(28,22);
- } textcolor(green);
- } write('Введить ваше iм`я: ');
- } readln(f1.name);
- } f1.scor:=scr;
- } f1.len:=dl;
- } seek(d,filesize(d));
- } write(d,f1);
- } Close(d);
- } Textcolor(0);
- } Halt;
- } End;
{---------------------------
- } Procedure OverRes(var d:res);
- } var f1:result;
- } y:integer;
- } Begin
- } ClrScr;
- } {$I-}
- } Reset(d);
- } {$I+}
- } IF IOResult<>0 THEN begin
- } gotoxy(28,22);
- } textcolor(green);
- } write('Результатiв немає!');end
- } Else
- } begin
- } textcolor(green);
- } y:=1;
- } while not eof(d) do begin
- } read(d,f1);
- } gotoxy(1,y); write('Iм`я: ',f1.name);
- } gotoxy(30,y); write('Довжина: ',f1.len);
- } gotoxy(45,y); write('Oчки: ',f1.scor:5);
- } y:=y+1;
- } end;
- } Close(d);
- } end;
- } repeat until keypressed;
- } textcolor(0);
100}End;
{-----------------------------
- } Procedure GoUp(x,y:integer);
- } Begin
- } Ramka(x,y);
- } MenuSelect:=Menuselect-1;
- } IF MenuSelect < 1 THEN MenuSelect:=6;
- } TextColor(14);
- } TextBackground(0);
- } GotoXY(x+1,y+MenuSelect);
- } write(MenuItem[MenuSelect]);
- } Textbackground(0);
- } textcolor(0);
- } gotoxy(1,1);
- } End;
{---------------------------
- }Procedure GoDown(x,y:integer);
- }Begin
- }ramka(x,y);
- }MenuSelect:=MenuSelect+1;
- }IF MenuSelect > 6 THEN MenuSelect:=1;
- }textcolor(14);
- }textbackground(0);
- }gotoxy(x+1,y+MenuSelect);
- }write(MenuItem[MenuSelect]);
- }textcolor(0);
- }textbackground(0);
- }gotoxy(x,y);
- }End;
{---------------------------
- }Procedure Menu;
- }label b;
- }Var
- }X,Y,I:integer;
- }Begin
- }b:
- }dlina:=5;
- }Naprav:=1;
- }HeadX:=5;
- }HeadY:=1;
- }Score:=0;
- }X:=28;Y:=20;
- }clrscr;
- }Ramka(x,y);
- }textcolor(14);
- }textbackground(0);
- }gotoxy(x+1,y+Menuselect);
- }write(MenuItem[MenuSelect]);
- }textcolor(0);
- }textbackground(0);
- }gotoxy(1,1);
- }repeat
- }I:=ord(readkey);
- }case I of
- }72:GoUp(x,y);
- }80:GoDown(x,y);
- }end;
- }Until (I=27)or(I=13);
- }IF i=27 THEN halt;
- }Case MenuSelect of
- }1: Begin
DTime:=10000;
ScorePlus:=5;
End;
- }2: Begin
DTime:=8000;
ScorePlus:=10;
End;
- }3: Begin
DTime:=6000;
ScorePlus:=15;
End;
- }4: Begin
DTime:=4000;
ScorePlus:=20;
End;
- }5: Begin
DTime:=2000;
ScorePlus:=25;
End;
- }6: Begin
OverRes(f);
ClrScr;
goto b;
End;
- }End;
- }CLRSCR;
- }End;
{---------------------------
- }Procedure DrawSnake;
- }Begin
- }textcolor(15);
- }gotoxy(1,50);
- }write(' ');
- }gotoxy(1,50);
- }write('Oчки: ',Score);
- }gotoxy(20,50);
- }write('Програму разрoбив Матковський Руслан aka Pat');
- }gotoxy(65,50);
- }write(' ');
- }gotoxy(65,50);
- }write('Довжина: ',Dlina);
- }Symbol(SnakeX[1],SnakeY[1],
chr(15)); - }textcolor(2);
- }for i:=2 to Dlina do begin
- }Symbol(SnakeX[i],SnakeY[i],
chr(15)); - }end;
- }textcolor(red);
- }for i:=1 to 40 do
- }Symbol(BonusX[i],BonusY[i],
chr(64)); - }textcolor(0);
- }gotoxy(1,1);
- }End;
{-----------------------------
- }Procedure AddBonus(b:longint);
- }label 1;
- }var
- }Err,f:integer;
- }Begin
- }1:
- }Err:=0;
- }BonusX[b]:=Random(78)+1;
- }BonusY[b]:=Random(48)+1;
- }For f:=1 to 40 do
- }if f<>b THEN
- }if ((BonusX[f]=BonusX[b]) and (BonusX[f]<>0) and (BonusY[f]=BonusY[b]) and (BonusY[f]<>0)) THEN Err:=1;
- }For f:=1 to Dlina do
- }if (SnakeX[f]=BonusX[b]) and (SnakeY[f]=BonusY[b]) THEN Err:=1;
- }IF Err=1 THEN goto 1;
- }textcolor(0);
- }gotoxy(1,1);
- }End;
{-----------------------------
- }Procedure Kill;
- }Var c:array[1..6] of char;
- }j:integer;
- }label 1;
- }Begin
- }c[1]:='X';
- }c[2]:='x';
- }c[3]:=':';
- }c[4]:='.';
- }c[5]:='.';
- }c[6]:=' ';
- }Textcolor(2);
- }for i:=1 to 6 do begin
- }for j:=1 to Dlina do
Symbol(SnakeX[j],SnakeY[j],c[
i]); - }delay(5000);
- }end;
- }1:
- }CLRSCR;
- }textcolor(15);
- }gotoxy(1,50);
- }write(' ');
- }gotoxy(1,50);
- }write('Oчки: ',Score);
- }gotoxy(20,50);
- }write('Програму разрoбив Матковський Руслан aka Pat');
- }gotoxy(65,50);
- }write(' ');
- }gotoxy(65,50);
- }write('Довжина: ',Dlina);
- }textcolor(2);
- }gotoxy(28,22);
- }write('╔═══════════════════╗'
); - }gotoxy(28,23);
- }write('║ ║');
- }gotoxy(28,24);
- }write('║ Продовжити(Y/N)? ║');
- }gotoxy(28,25);
- }write('║ ║');
- }gotoxy(28,26);
- }write('╚═══════════════════╝'
); - }gotoxy(1,1);
- }key:=readkey;
- }case key of
- }'Y','y','Н','н': begin