fx-5800P【ゲーム】もぐら叩き(5)
fx-5800Pでもぐら叩き
e-Gadget
fx-5800P【ゲーム】もぐら叩き(4) の続き
以下の機能を追加して、より遊べるゲームに改造することにする。
1) 間違ったモグラを叩いた時にペナルティーとしてLIFEを減らす
2) たまには、モグラでないものが顔を出し、それを叩くとペナルティーとしてLIFEを減らす
今回追加及び削除した部分を、赤文字で以下に示す。
fx-5800P用プログラム
もぐら叩きゲーム 改造版
==================
10→DimZ :変数の初期化
35→Z[1]:36→Z[2]
37→Z[3]:21→Z[4]
22→Z[5]:23→Z[6]
31→Z[7]:32→Z[8]
33→Z[9]
17→D:25→E:0→P
For 1→B To 3 :初期画面表示
Locate 1,B,"[ ][ ][ ]"
Next
Locate 11,2,"PRIZE"
Locate 12,3,P
Locate 1,4,"LIFE:"
Locate 6,4,L
Lbl 0 :ゲームメインループ(始まり)
RanInt#(1,9)→T :モグラ出現のタイミングと座標
RanInt#(1,3)→X
RanInt#(1,3)→Y
RanInt#(1,4)→Z
9+X-3Y→N
If P≧200 And Z=0
Then 1→Q
Else 0→Q:IfEnd
Lbl 1 :モグラ出現のカウントタイマー
Dsz T
Goto 1
0→C :モグラを出現させ、叩くまでの処理
If Q=1:Then
Locate 3X-1,Y,"X"
Else
Locate 3X-1,Y,"O"
IdEnd
Do
Isz C
If C>E:Then
Break:IfEnd
Getkey→K
LpWhile K=0
Locate 3X-1,Y," "
If Q=0:Then :モグラを叩いた後の判定
If C≦D And K=Z[N]
Then:P+20-C→P
Else L-1→L
If C>E:Then
P-25→P:IfEnd
Else
If C≦E:Then
L-1→L:IfEnd
IfEnd
Locate 12,3," " :リアルタイム表示
Locate 12,3,P
Locate 6,4,L
L⇒Goto 0 :ゲームメインループ(終わり)
0→DimZ :ゲーム終了時の処理
For 1→A To 3
For 1→B To 3
Locate 3B-1,A,"Q"
Next:Next
Locate 1,2,"GAME OVER"
==================
変更・追加点の説明:
1.偽モグラを "X" で表示し、PRIZEが200以上の時、さらに RanInt#(0,4)→Z で Zが0になった時に、偽モグラを出現させる。偽モグラ出現率は約20%。偽モグラ出現時は、フラグQを1にする。
2.タイムアウト時のPRIZE減点処理を、Do ループの外に出した。偽モグラ出現時はタイムアウトにする必要がある。偽モグラかどうかの判定を Do ループ内で行うと、スピードが遅くなるのて、偽モグラかどうか、および減点処理を Do ループの外に出したわけだ。
3.間違ったモグラや偽モグラを叩いた時に、L-1→L を処理してLIFEを1つ縮める。
コードを追いかけると、上記の具体的な処理が分かると思う。軽微な変更で、簡単に機能追加できた。
持ち点20点、タイムアウト条件やその他の設定は、現在のところ固定されている。これらを変更することで、難易度を変更できる。
そこで、難易度を変更できるようにして、一旦ゲームの完成としようと思う。
つづく...
⇒ もぐら叩き(6)
応援クリックをお願いします。励みになるので...