08.当たり外れの判定(2002/05/02作成)

今回は,前回のコードに,当たり判定を付け加えます
下記のコードで,「REM -------Judge Strike or Not-------」より上は,前回と同じ物です。
今回で,ゲームとしての基本形は完成です。

PROC drop:
LOCAL x1%,y1%,x2%
LOCAL t%
LOCAL event&(1)

REM -------Initialize-------
RANDOMIZE MINUTE+SECOND
gBOX 160,160

	REM-------Draw Target-------
	x2%=INT(RND*139)+1	REM Target x Position(Random)
	gAT x2%,153		REM Target Position
	gFILL 20,3,0		REM Draw Target(FillBox)

x1%=10			REM Character Position of X
y1%=10			REM Character Position of Y
gAT x1%,y1%		REM Initial Draw Position
gFILL 5,10,0		REM Draw Box at Initial position

GET				REM Wait until Any Key is pushed

REM -------MOVE X-------
WHILE x1%<=145				REM Start Move X Loop
	PAUSE 2				REM Wait 2/20sec
	gFILL 5,10,1
	x1%=x1%+5
	gAT x1%,y1%
	gFILL 5,10,0

	REM -------Get KeyUp Event-------
		t%=TESTEVENT
			IF t%=-1
				GETEVENT32 event&(1)
				IF event&(1)=&407
					BREAK
				ENDIF
			ENDIF
ENDWH

REM -------MOVE Y-------
WHILE y1%<=140
	PAUSE 2
	gFILL 5,10,1
	y1%=y1%+5
	gAT x1%,y1%
	gFILL 5,10,0
ENDWH

REM -------Judge Strike or Not-------
IF x1% > x2%-5 and x1% < x2%+20
	gAT 20,50
	gXPRINT "○ SUCCESS ○",0
		ELSE
		gAT 30,50
		gXPRINT "X FAILED X",1
ENDIF

GET
ENDP
キーを押し放しして,4角形をターゲットめがけて落とします。
4角が,下の長方形に当たれば"SUCCESS",外れれば"FAILED"と表示されます。
DROP成功DROP失敗

もう一歩
gXPRINT "",0
""内の文字列を表示します。
最後の数字は,表示を以下のように変化させます。
0:ノーマル
1:反転
2:角の取れた4角形で反転
3:細い反転
4:角の取れた4角形で細い反転
5:下線
6:細い下線

表示コマンドとしては,他に「PRINT」「gPRINT」などがあります。
今回,gXPRINTが,反転など,表示を変化させることができるので用いました。


07.組み合わせてみる<-->
OPLはじめの一歩
最初のページ