新しく発言する EXIT インデックスへ
迷路

  迷路 たかし 2005/07/14 18:10:05 
  検討してみてください。 山中和義 2005/07/14 21:39:26 
   └山中さんにご質問いたします。 たかし 2005/07/15 16:14:00 

  迷路 たかし 2005/07/14 18:10:05  ツリーへ

迷路 返事を書く
たかし 2005/07/14 18:10:05
私がつくった簡単なゲームの感想や、助言等をぜひ書き込みください。

「以下 迷路ゲーム」

rem *** 迷路

print " ●このゲームは、黒い壁をよけながら赤い「脱出口」"
print "へ緑色の点を矢印キーを使って運ぶゲームです。"
print "● ゲームを始めたいなら、黄色い四角形"
print "をクリックしてください。"
print"●ゲーム画面中でESCを押すと終了"

set window -5,5,-5,5
set area color 6
plot area : -1,0;-1,3;2,3;2,0
get point: X,Y
if X<2.1 and X>-1.1 and Y<3.1 and Y>0 then gosub 100



100 LET x=1
110 LET y=-1

120 DO
130 WAIT DELAY 0.01 ! 0.01秒待機する
140 IF GetKeyState(27)<0 THEN EXIT DO ! ESCを押すと終了
150 IF GetKeyState(37)<0 THEN LET x=x-0.1
160 IF GetKeyState(38)<0 THEN LET y=y+0.1
170 IF GetKeyState(39)<0 THEN LET x=x+0.1
180 IF GetKeyState(40)<0 THEN LET y=y-0.1

190 SET DRAW MODE HIDDEN
200 DRAW tenn WITH SHIFT(x,y)
210 SET DRAW MODE EXPLICIT


220 set window -5,5,-5,5
set area color 2
plot area :-5,5;-5,-5;5,-5;5,5
set area color 1
plot area : -2,0;-2,5;-2.5,5;-2.5,0
set area color 4
plot area :4.9,-4.9;4.7,-4.9;4.7,-4;4.9,-4

if X>9.5 and Y<-8.5 then gosub 250
if X<3.3 and X>2.4 and Y<1 and Y>-5 then gosub 230



240 loop

230 print " ●黒いところは壁です"
231 goto 260

250 print "● 脱出成功 "
260 end

external picture tenn
set area color 3
plot area : -5,4.9;-5,4.5;-4.6,4.5;-4.6,4.9
end picture

  検討してみてください。 山中和義 2005/07/14 21:39:26  ツリーへ

Re: 迷路 返事を書く
山中和義 2005/07/14 21:39:26
検討してみてください。

・各if then のgosubは文法的におかしい。
 gosubはサプルーチンなので、基本的にはreturnで
 この位置に戻らないといけない。

 影響は、ゲーム開始の黄色四角をクリックしなくても
 ゲームは開始される、、、など


・画面のちらつきをふせぐには、次の順にする。

190 SET DRAW MODE HIDDEN
220 set window -5,5,-5,5
set area color 2
plot area :-5,5;-5,-5;5,-5;5,5
set area color 1
plot area : -2,0;-2,5;-2.5,5;-2.5,0
set area color 4
plot area :4.9,-4.9;4.7,-4.9;4.7,-4;4.9,-4
200 DRAW tenn WITH SHIFT(x,y)
210 SET DRAW MODE EXPLICIT


・迷路が複雑になる場合、このままではお手上げになる。
 物理座標(画面表示)と論理座標を設けて当り判定をする必要がある。

   └山中さんにご質問いたします。 たかし 2005/07/15 16:14:00  ツリーへ

Re: 検討してみてください。 返事を書く
たかし 2005/07/15 16:14:00
山中さんにご質問いたします。
●迷路が複雑になる場合、このままではお手上げになる。
物理座標(画面表示)と論理座標を設けて当り判定をする必要がある。
と、おっしゃいましたが、私には何のことか分からないので、具体的にどうすればいいのかをお教えください。





インデックスへ EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。