プレイ日記
ばいし madanai2nd
プレイ日記。 ゲームを作ろうと思い、ジャンケンのようなことをさせようとして、一歩目で挫折中。 ランダムで表示させ、Aボタンでストップ、またAボタンでランダム表示にしたかっただけです。 始めより数十行減らしたのは良いのですが、解決にいたらず。 表示をストップしてから再度ランダム表示になりません。入力を受け付けていないかすぐにvsyncの方に流れてしまっているかだとは思っているのですが。'の一文も入れてみましたが、変わらず。ooのフラグも後から入れたのですが変わらず。 コメントは願わくば初心者に分かるツッコミでpls。正解の文というよりは、どこの考え方が間違っているかを知りたいかも。
2そうだね
プレイ済み
返信[1]
親投稿
ぴくと kanau1203
まずプログラムの構成が少し複雑かもしれません @loop @onのときのループ @offのときのループ goto@loop となっているのを @loop if oo=1 then ランダムに表示 if oo=0 then 表示しない vsync goto@loop とすればシンプルじゃないでしょうか? あと、button(0)だとリピート機能があります(押し続けてる間反応) button(2)を使えばボタンのリピート機能がない(押した瞬間だけ反応) のでこちらの方が適していると思います
0そうだね
プレイ済み
返信[2]
親投稿
ばいし madanai2nd
button(2)に変更、ループをif文に変更。Aボタンで止まらなくなってしまっています。気がつけば単純なミスなのだとは思いますが、気がつけないので難しい。
0そうだね
プレイ済み
返信[3]
親投稿
一つのループの中に2回BUTTON命令が出てきてるけど意味がないですよ。というか同じ値が返ってきます。 なのでせっかく11行目でOOを変更しても17行目で元の値に戻ってしまうので止まることはないと思います。
0そうだね
プレイ済み
返信[4]
親投稿
TERA(LL) tera0413
1回のループで2回反転させたら、元に戻る罠。 あと、ooが0の時、乱数発生処理だけしておけば、PRINT文は2回は要らないと思います。
1そうだね
プレイ済み
返信[5]
親投稿
ばいし madanai2nd
読みました。 とりあえずbutton命令1つ削って、ループの処理を見直してきます。
0そうだね
プレイ済み
返信[6]
親投稿
ばいし madanai2nd
盲点だったのは2度反転させていたからと、buttonによる数値のリセットだったようです。 目標の動作になりました。 ありがとうございました。 (ここまで行数減っちゃった。はじめの100行近くはなんなのやら。)
1そうだね
プレイ済み
返信[7]
親投稿
行を減らしたいなら1〜3行目は初期化なのでACLSにすれば他のは要らないですよ。 他にも宣言無しの数値変数の初期値は0だったと思うので5行目はなくても一応OK(初期化の意味で残しておくのももちろんアリ)ですし、8行目のキー入力は変数のKは1回しか使わないのであれば変数に入れないで9行目でBUTTON(2)を直接調べてもOKです。 あとPRINTも省略して?が使えるので?にしても良いかも? まあでも後から他のボタン操作も入れようと思ったらボタンは変数に入れておいた方がいいので、あくまで今の段階で行を減らしたいなら程度の意見ですが…。
1そうだね
プレイ済み
返信[8]
親投稿
ばいし madanai2nd
む~、直接buttonを調べる方法もびっくりです。データの省略もしっかりできるようになりたいですが、まずは動くプログラムを組めるようにしなければ。まだ自分では出てこない情報です。参考になります。ありがとうございました。
1そうだね
プレイ済み