free pascal做小遊戲的基本思路。謝啦

2022-03-25 10:29:10 字數 1745 閱讀 9496

1樓:匿名使用者

用pascal做小遊戲的基本思路是這樣的:開一個陣列,一直迴圈並輸出陣列,直到達到了某種條件時(即贏了),方可結束,注意,如果你用char讀入的話要注意會出現以外情況,用label就可以了。

下面是我的參考程式:(迷宮,按w:上,s:下,a:左,d:右)

label 1;

varc:char;

i,j,i1,j1,i2,j2,s:longint;

a:array[1..7,1..15]of char;

begin

for i:=1 to 15 do

begin

a[1,i]:='1';

a[7,i]:='1';

end;

for i:=1 to 7 do

begin

a[i,1]:='1';

a[i,15]:='1';

end;

a[1,2]:='o';

a[2,15]:='0';

for i:=3 to 5 do

begin

a[i,3]:='1';

a[i+2,5]:='1';

a[3,i+1]:='1';

a[i,7]:='1';

a[5,i+5]:='1';

a[i-2,9]:='1';

a[i-1,11]:='1';

a[5,i+8]:='1';

a[3,i+10]:='1';

end;

a[2,10]:='2';

a[4,4]:='2';

a[4,8]:='2';

a[6,6]:='2';

a[4,14]:='2';

i:=1;

j:=2;

repeat

i1:=i;

j1:=j;

for i2:=1 to 7 do

begin

for j2:=1 to 15 do

write(a[i2,j2]);

writeln;

end;

writeln('---------------');

1:read(c);

case c of

'a':if j-1<>0 then if a[i,j-1]<>'1' then j:=j-1;

'd':if j+1<>16 then if a[i,j+1]<>'1' then j:=j+1;

'w':if i-1<>0 then if a[i-1,j]<>'1' then i:=i-1;

's':if i+1<>8 then if a[i+1,j]<>'1' then i:=i+1;

else goto 1;

end;

if a[i,j]='2' then inc(s);

if a[i,j]='0' then if s=5 then begin

write('you win');

exit;

endelse j:=j-1;

a[i1,j1]:=' ';

a[i,j]:='o';

until a[i,j]='0';

write('you win');

end.

2樓:外星來的

很多陣列存放當前狀態。(低階的不用)

不停地輸出螢幕。

3樓:

1//uses crt;

2//同ls,不停輸出螢幕

android開發問題 在做小遊戲,遊戲介面過程中如果按了「back」鍵返回主介面,主介面有個按鈕

back建你是可以捕捉bai到的啊,你可以自己寫du處理back的過zhi程啊具體寫法 dao重寫onkeydown方法 在裡面寫內 if keycode keyevent.keycode back return super.onkeydown keycode,event 還有就是儲存資料,你不能用...

網球小遊戲,求有關網球的室內小遊戲

是動作模擬類遊戲,很真實,好像叫什麼wii wii的網球遊戲麼?那個是家用機上的遊戲 那個是家用機上的遊戲 尋求一些網球趣味小遊戲 1.踢網球比賽,團體可以累加 2.顛網球運輸比賽,中間可設施障礙。3.打網球比賽可以對於技術稍好的,不好的也可以進行的,縮小場地,只使用發球區那一小塊。4.網球砸人,分...

4399的小遊戲問題,4399的小遊戲為什麼不能玩

4399裡的遊戲屬網業遊戲,那是載入網業,沒有下到你的電腦裡,遊戲根本沒有占用的電腦空間,對你的電腦無任何影響。所以你不必擔心。是在ie的快取中。如果你覺得太浪費空間的話。玩完後關掉瀏覽器時再清空一下快取就可以了。沒事多清除電腦垃圾就行!4399的小遊戲為什麼不能玩 1 自己的flashplayer...