Автор работы: Пользователь скрыл имя, 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 стр.
temps:=60*(10-niveau div 2);
putimage(360,43,barre^,
end;
end;
tar:=false;
k:=1;
if i mod c=0 then begin
pf2:=pf;
repeat
randomize;
repeat
if (tar=true)or((pf2^.fa=162)and(
or((pf2^.fa=387)and(pf2^.fo=
or((pf2^.fa=444)and(pf2^.fo=
or((pf2^.fa=219)and(pf2^.fo=
if (k<3)and(temps=0)and(random(
route(t,x,y,pf2^.fa,pf2^.fo);
pf2^.rf:=t[k];
k:=k+1;
end else pf2^.rf:=random(4)*2+2;
end;
if (pf2^.fa=304)and(pf2^.fo=174)
if (pf2^.fa=304)and(pf2^.fo=145)
if pf2^.rf=6 then if (getpixel(pf2^.fa+27,pf2^.fo)<
pf2^.fa:=pf2^.fa+1; tar:=false; end else tar:=true;
if pf2^.rf=4 then if (getpixel(pf2^.fa-1,pf2^.fo)<>
pf2^.fa:=pf2^.fa-1; tar:=false; end else tar:=true;
if pf2^.rf=2 then if (getpixel(pf2^.fa,pf2^.fo+27)<
pf2^.fo:=pf2^.fo+1; tar:=false; end else tar:=true;
if pf2^.rf=8 then if (getpixel(pf2^.fa,pf2^.fo-1)<>
pf2^.fo:=pf2^.fo-1; tar:=false; end else tar:=true;
until tar=false;
if (pf2^.fa=51)and(pf2^.fo=61) then
f1:=false;
if (pf2^.fa=555)and(pf2^.fo=61) then
f2:=false;
if (pf2^.fa=51)and(pf2^.fo=397) then
f3:=false;
if (pf2^.fa=555)and(pf2^.fo=397) then
f4:=false;
if pf2^.fa>570 then begin pf2^.fa:=35; putimage(570,229,blank^,
if pf2^.fa<35 then begin pf2^.fa:=570; putimage(35,229,blank^,
j:=1;
while (stock[j]<>0)and(j<24) do
j:=j+2;
if (pf2^.rf=6)and((getpixel(pf2^.
or(getpixel(pf2^.fa+27,pf2^.
then begin
stock[j]:=pf2^.fa+27;
stock[j+1]:=pf2^.fo+13;
end;
if (pf2^.rf=4)and((getpixel(pf2^.
(getpixel(pf2^.fa-1,pf2^.fo+
then begin
stock[j]:=pf2^.fa-2;
stock[j+1]:=pf2^.fo+13;
end;
if (pf2^.rf=2)and((getpixel(pf2^.
(getpixel(pf2^.fa+12,pf2^.fo+
then begin
stock[j]:=pf2^.fa+13;
stock[j+1]:=pf2^.fo+27;
end;
if (pf2^.rf=8)and((getpixel(pf2^.
or(getpixel(pf2^.fa+12,pf2^.
then begin
stock[j]:=pf2^.fa+13;
stock[j+1]:=pf2^.fo-1;
end;
pf3:=pf;
t1:=pf3^.fa;
t2:=pf3^.fo;
pf3:=pf3^.nxt;
t3:=pf3^.fa;
t4:=pf3^.fo;
pf3:=pf3^.nxt;
t5:=pf3^.fa;
t6:=pf3^.fo;
pf3:=pf3^.nxt;
t7:=pf3^.fa;
t8:=pf3^.fo;
for a:=1 to 6 do begin
j:=2*a-1;
if (stock[j]<>0)
and((t1>stock[j]+3)or(t1<
or(t2>stock[j+1]+3)or(t2<
and((t3>stock[j]+3)or(t3<
or(t4>stock[j+1]+3)or(t4<
and((t5>stock[j]+3)or(t5<
or(t6>stock[j+1]+3)or(t6<
and((t7>stock[j]+3)or(t7<
or(t8>stock[j+1]+3)or(t8<
then begin
putimage(stock[j],stock[j+1],
stock[j]:=0;
end;
end;
if (temps=0)and(pf2^.delais=0) then putimage (pf2^.fa,pf2^.fo,fantome^,
if (pf2^.delais=0)and(temps>0) then putimage (pf2^.fa,pf2^.fo,vdt^,
if pf2^.delais>0 then begin
putimage(pf2^.fa,pf2^.fo,
pf2^.delais:=pf2^.delais-1;
end;
{Fantome bouff‚?}
if (getpixel(pf2^.fa+30,pf2^.fo+
or(getpixel(pf2^.fa+15,pf2^.
for j:=1 to 26 do begin
putimage(pf2^.fa,pf2^.fo+j,
if son=true then sound(j*100);
delay(d500);
end;
nosound;
setcolor(0);
str(points,s);
outtextxy(220,40,s);
points:=points+500;
if (points div 4000)<>((points-500) div 4000) then bonus:=true;
setcolor(3);
str(points,s);
outtextxy(220,40,s);
pf2^.fa:=350;
pf2^.fo:=250;
pf2^.delais:=(10-niveau)*100;
end;
{bonus?}
if bonus=true then begin
bonus:=false;
if son=true then begin
for a:=1 to 4 do begin
sound(440*a);
delay(d500*2);
end;
nosound;
end;
setcolor(0);
str(vies,s);
outtextxy(105,40,s);
vies:=vies+1;
setcolor(3);
str(vies,s);
outtextxy(105,40,s);
end;
{fin?}
if (getpixel(pf2^.fa+30,pf2^.fo+
or(getpixel(pf2^.fa+15,pf2^.
setcolor(0);
str(vies,s);
outtextxy(105,40,s);
vies:=vies-1;
setcolor(3);
str(vies,s);
outtextxy(105,40,s);
pf2:=pf^.nxt;
for j:=1 to 26 do begin
putimage(x,y+j,fade^,
if son=true then sound(3000-j*100);
delay(d500);
end;
nosound;
pf2:=pf;
repeat
putimage(pf2^.fa,pf2^.fo,
pf2:=pf2^.nxt;
until pf2=nil;
delay(d500*3);
if vies=0 then
perdu:=true;
if vies>0 then goto 1;
tar:=false;
end;
pf2:=pf2^.nxt;
until (pf2=nil)or(perdu=true);
end;
{Passage secret}
if x>570 then begin x:=35; putimage(570,229,blank^,
if x<35 then begin x:=570; putimage(35,229,blank^,
until (r='Q')or(perdu=true)or(repas>
if repas>214 then begin