Автор работы: Пользователь скрыл имя, 09 Февраля 2011 в 09:12, курсовая работа
В данной работе изложен материал по разработке программного продукта «Игровая программа “Pacman”», созданного для использования в операционных системах MS DOS, семейства MS Windows 9x, MS Windows XP. Данное приложение является игровым и предназначено для развлечения.
Введение………………………………………………………3 стр.
1.Анализ предметной области………………………………4-5 стр.
2.Проектирование……………………………………………6-8 стр.
3.Реализация………………………………………………….9-12 стр.
Заключение……………………………………………………13 стр.
Список используемой литературы…………………….......14 стр.
Глоссарий……………………………………………………..15 стр.
Приложение……………………………………………….......16-24 стр.
for k:=1 to 2 do begin
if k=1 then setcolor(4) else setcolor(0);
outtextxy(380+1*j,15,'G');
outtextxy(390+2*j,15,'A');
outtextxy(400+3*j,15,'M');
outtextxy(410+4*j,15,'E');
if k=1 then delay(d500);
end;
end;
until keypressed;
end;
end;
end;
Данная процедура предоставляет информацию пользователю о
игре.
Далее в программе 6улет описано, что при
нажатии на клавишу, содержащую символ
«I» вызывается процедура Infos, при этом
игра приостанавливается и в нижней части
экрана появляется информация о том какими
клавишами можно управлять Pacman'ом, также
предоставляется информация о том какой
клавишей можно приостановить игру, возобновить
её и выйти из игры.
Бонус
if bonus=true then begin
bonus:=false;
if son=true then begin
nosound;
end;
setcolor(0);
str(vies,s);
outtextxy(105,40,s);
vies:=vies+1;
setcolor(3);
str(vies,s);
outtextxy(105,40,s);
end;
Данная
часть кода программы добавляет жизнь
Pacman' ну, и в верхней части экрана, к количеству
жизней прибавляет еще одну, ранее в программе
описано, что bonus=true, тогда, когда количество
очков , набранных игроком, которые выводятся
в верхней части, экрана равно 4000.
Выводы
1. В качестве языка программирования выбран язык Borland Pascal 7.0.
2. Описан алгоритм;
3. Разработан и описан пользовательский интерфейс игровой программы "Pacman" с интуитивно-понятным управлением приложением.
4. Составлен
план развертывания программы.
ЗАКЛЮЧЕНИЕ
1. Результатом данной работы является созданная игровая программа «Pacman». Разработанный продукт является полностью функциональным (все необходимые функции в нем реализованы). Несмотря на это, допускается его дальнейшая модернизация, как в плане интерфейса, так и в плане функциональных и алгоритмических возможностей.
2. Программа реализована на языке - Borland Pascal 7.0.
3. В последующих версиях приложения предполагается усовершенствование пользовательского интерфейса и механизмов функционирования
Список используемой литературы.
1. Семенов А.И., Семенова О.В. Программирование. Учебное пособие. - Абакан: Издательство Хакасского государственного университета им. Н.Ф. Катанова, 2005. - 156 с.: ил.
2. Петзолд Ч. Программирование для Windows 95 в двух томах - Спб.: «BHV-Санкт Петербург», 2000.
3.
Окулов С.М. Основы программирования. В
3-х ч. - Киров: Изд-во ВГПУ, 2000.
Глоссарий
Игровая программа - компьютерная программа, предназначенная для развлечения пользователей.
Информационная система - это взаимосвязанная совокупность средств, методов и персонала, используемых для хранения, обработки и выдачи информации, необходимой в процессе принятия решений задач из любой области.
Предметная область - часть реального мира, подлежащего автоматизации в ходе ее изучения.
Система
- совокупность взаимосвязанных элементов,
выступающая как единое целое и имеющая
общее назначение, цель.
ПРИЛОЖЕНИЕ
П.1. Листинг
Pacman.pas
Program pacman;
uses crt, graph;
const
d500=50; {short delay}
d1500=1000;
{long delay}
type point=^element;
element=record
im: pointer;
nxt: point;
end;
fx=^coord;
coord=record
fa, fo, rf, delais: integer;
nxt: fx;
end;
tableau=array[1..3]of
integer;
procedure infos;
var i,j,k: integer;
begin
for i:=1 to 2 do begin
if i=1 then
setcolor(3)
else setcolor(0);
outtextxy(180,15,'Infos:');
outtextxy(60,452,'Left: 4');
outtextxy(60,472,'Right: 6');
outtextxy(190,452,'Up: 8');
outtextxy(190,472,'Down: 2');
outtextxy(320,452,'Stop!: 5');
outtextxy(320,472,'Pause: P');
outtextxy(450,452,'Sound/Sil.:
outtextxy(450,472,'Exit :Q');
if i=1 then begin
repeat
for j:=1 to 20 do begin
for k:=1 to 2 do begin
if k=1 then setcolor(4) else setcolor(0);
outtextxy(380+1*j,15,'G');
outtextxy(390+2*j,15,'A');
outtextxy(400+3*j,15,'M');
outtextxy(410+4*j,15,'E');
if k=1 then delay(d500);
end;
end;
for j:=20 downto 1 do begin
for k:=1 to 2 do begin
if k=1 then setcolor(4) else setcolor(0);
outtextxy(380+1*j,15,'G');
outtextxy(390+2*j,15,'A');
outtextxy(400+3*j,15,'M');
outtextxy(410+4*j,15,'E');
if k=1 then delay(d500);
end;
end;
until keypressed;
end;
end;
end;
procedure route(var t: tableau;x,y,fa,fo: integer);
var coef: real;
begin
coef:=(x-fa)/(y-fo+0.1);
if ((coef)>=1)or((coef)<=-1) then begin
if fa>=x then t[1]:=4 else t[1]:=6;
if fo>y then begin t[2]:=8; t[3]:=2; end else begin t[2]:=2; t[3]:=8; end;
end else begin
if fo>=y then t[1]:=8 else t[1]:=2;
if fa>x then begin t[2]:=4; t[3]:=6; end else begin t[2]:=6; t[3]:=4; end;
end;
end;
label 1;
var a, b, c, d, i, j, k, rf, x, y, size, pilote, mode, vies, repas,
t1, t2, t3, t4, t5, t6, t7, t8, niveau: integer;
tar, perdu, son, f1, f2, f3, f4, bonus: boolean;
p, p2, p3, ec, ec2, ec3: point;
fantome, blank, fade, vdt, repos, fromage, barre: pointer;
t: tableau;
pf, pf2, pf3: fx;
temps, points: longint;
stock:Array[1..24] of integer;
s: string;
r:char;
err:integer;
begin
randomize;
pilote:=detect;
InitGraph(pilote,mode,'c:\
clearviewport;
size:=imagesize(7,7,33,7);
new(fade);
getmem(fade,size);
getimage(7,7,33,7,fade^);
size:=imagesize(7,7,33,33);
new(blank);
getmem(blank,size);
getimage(7,7,33,33,blank^);
for j:=1 to 2 do begin
if j=1 then setfillstyle(1,9) else setfillstyle(1,6);
for i:=1 to 4 do begin
cleardevice;
pieslice(20,20,5*i,360-5*i,10)
rectangle(19,14,20,15);
size:=imagesize(7,7,33,33);
if j=1 then begin
new(p2);
getmem(p2^.im,size);
getimage(7,7,33,33,p2^.im);
if i=1 then begin
p:=p2;
p3:=p;
end else begin
p3^.nxt:=p2;
p3:=p2;
end;
end else begin
new(ec2);
getmem(ec2^.im,size);
getimage(7,7,33,33,ec2^.im);
if i=1 then begin
ec:=ec2;
ec3:=ec;