トピック
なっつ cvtog123

ボタンを押すだけのゲームですが、、

Aボタンを5回押して Bボタンを2回押して Xボタンを3回押して Yボタンを4回押した時にFINISH したいです。 実際作って見たらAボタンが0になった途端に無限ループしてしまいます。 全部ボタンを押してクリアしたいです。ヒントください。お願いします。
1そうだね
プレイ済み
返信[1]
親投稿
スー thanks_0u0
Aが0になると、ループ時に毎回12行目が実行されてしまいます(・u・) ですので、A OKAY!!がズラーーーっと出るのでは無いでしょうか。 (実際は他の命令も実行されているので、そのまま別のボタンも押していけば一応クリアは出来るはず) ボタンを押した時に表示のために@HOMEに戻しているなら、A OKAY!!などの表示も@HOMEでやってしまっても良いかもしれません。LOCATEも指定した方が良さそうです。 また、ALL CLEARの表示も@HOMEでやって良いと思います。 他にも、A ボタンを押した時だけA OKAY!!を表示するようにするとか、色々やり方はあります。わかりやすい方法が見つかると良いですね( ´ u ` )
0そうだね
プレイ済み
返信[2]
親投稿
wakame wakame1289
これじゃだめですか。
1そうだね
プレイ済み
返信[3]
親投稿
ねこはかせ hgskdj2609
仮に Aが5回以上押されてしまったら、Aは0以下つまり、クリア条件を今後一切満たせなくなる。だから、無限ループになる。もし、Aが0以下にさせたくないなら、どうしたら良いと思う? (ヒント:IF~THEN命令) 他のB,X,Yにも同じしょりらが必要だよ! さぁ、考えろ!
0そうだね
プレイ済み
返信[4]
親投稿
なっつ cvtog123
スーさんのヒントとねこはかせさんのヒントで頑張ってみました。でも数字がマイナスすることがあります。IF文の使い方がまずいのかな。でもだいぶ良くなりました。ありがとうございます。wakameさんの書き方は紙にメモしました。後でやってみます!ありがとうございます。
1そうだね
プレイ済み
返信[5]
親投稿
スー thanks_0u0
この状態だと、「もしA が0以上なら」「もしBが0以上なら」「もしXが0以上なら」「もしYが0以上なら」のどれでも@HOMEに戻るので、毎ループ@HOMEに戻っています。 例えAがマイナスでも、BかXかYが0以上なら@HOMEに戻ってしまうので、表示がマイナスになることもあり得ます。 ですので、@HOMEに戻る条件を付けるのではなく、そもそもAがマイナスにならないように「Aボタンを押した瞬間、かつAが0より大きかったら、Aを1減らして@HOMEに戻る」の方が良いと思います( ´ u ` )
1そうだね
プレイ済み
返信[6]
親投稿
ねこはかせ hgskdj2609
>なっつさん 私は、頑張ってる人が大好きです。なっつさんも、とっても頑張っているので、解答例を1つ書いておきます。 IF A<0 THEN A=0 つまり、Aが0以下だったら、強制的にA=0に固定してしまえ! というわけです。こうする事で、0になった変数は数値が変動しなくなって、より目指したい形になると思います。
0そうだね
プレイ済み
返信[7]
親投稿
なっつ cvtog123
wakameさんのプログラムを試してみました。UNTIL R==16*5………… =イコールがひとつ抜けていたので動かなかったです。でも出来ました。ありがとうございます。
0そうだね
プレイ済み
返信[8]
親投稿
なっつ cvtog123
ねこはかせさんありがとうございました。Aをマイナスにならないようにできました。
0そうだね
プレイ済み