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...