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"と表示されます。


もう一歩
・gXPRINT "",0
""内の文字列を表示します。
最後の数字は,表示を以下のように変化させます。
0:ノーマル
1:反転
2:角の取れた4角形で反転
3:細い反転
4:角の取れた4角形で細い反転
5:下線
6:細い下線
表示コマンドとしては,他に「PRINT」「gPRINT」などがあります。
今回,gXPRINTが,反転など,表示を変化させることができるので用いました。
07.組み合わせてみる<-->
OPLはじめの一歩
最初のページ