|
viac ako 450 programov zadarmo
|
![]() English |
![]() Slovensky |
![]() Česky |
![]() Šarišsky |
Kategória: Hry![]() Autor: Matej Ridzoň Program: Hadr.pas, Pohyb.pas Súbor exe: Hadr.exe Potrebné: Had.zip Vývoják: Had_prezentacia.pdf Jednoduchá simulácia hry HAD. Ovládanie je šípkami. Program má v sebe zabudovanú jednoduchú AI (pôvodne to bol test funkčnosti nejakých aspektov hry), ktorá nebola úplne dokončená. Progam bol kompilovaný cez fpc 2.2 mód object pascal. Program mal vukázať možnosť vytvorenia komplexnejšieho programu za použitia minimálnych knižníc (wincrt a graph). Dúfam, že sa vám bude páčiť a inšpiruje vás.
Celý program bol vytvorený v prostredí lazarus, ale bez použitie OOP, teda len nejaké procedúrky a unit pre AI. Potrebné súbory pre kompiláciu:
Zobrazené: 1288x
unit pohyb; {$mode objfpc}{$H+} interface const P=1; L=2; H=3; D=4; type TAIpole=array[1..50,1..100] of longint; procedure AIvypln(y,x:longint;var AIpole:TAIpole;typ:longint); //typ - pre vyssie urovne AI function AIzisti(y,x:longint;AIpole:TAIpole):longint; implementation procedure AIvypln(y,x:longint;var AIpole:TAIpole;typ:longint); var Ri,Rj:longint; begin if (x mod 2)=0 then for Ri:=1 to x do begin if Ri=1 then begin for Rj:=1 to y do begin if Rj=y then AIpole[Ri,Rj]:=D else AIpole[Ri,Rj]:=P; end; end else if Ri=2 then begin for Rj:=1 to y do begin if Rj=1 then AIpole[Ri,Rj]:=H else if Rj=y then AIpole[Ri,Rj]:=D else if (Rj mod 2)=0 then AIpole[Ri,Rj]:=D else AIpole[Ri,Rj]:=L; end; end else if Ri=x then begin for Rj:=1 to y do begin if (Rj mod 2)=0 then AIpole[Ri,Rj]:=L else AIpole[Ri,Rj]:=H; end; end else begin for Rj:=1 to y do begin if (Rj mod 2)=0 then AIpole[Ri,Rj]:=D else AIpole[Ri,Rj]:=H; end; end; end else begin for Ri:=1 to x do for Rj:=1 to y do AIpole[Ri,Rj]:=P; end; end; function AIzisti(y,x:longint;AIpole:TAIpole):longint; begin if AIpole[x,y]=H then AIzisti:=72 else if AIpole[x,y]=L then AIzisti:=75 else if AIpole[x,y]=P then AIzisti:=77 else if AIpole[x,y]=D then AIzisti:=80; end; end. [Spustiť] [Uložiť] [Tlač] [Poslať e-mailom] |
|