プレイ日記
shoum shoum0403
あの、バグ?をみつけてほしいのです。 ゲームのおおまかの内容は写真の通りです。 Xボタン押されたら、全てのボールが消える=必殺技みたいなものです その必殺を3回しか使えないようにしたのですが、これだとなぜか、一回しかつかえなかったり、2回しかつかえなかったりと色々おかしいです。 どうしたら、いいですか。 内容が不十分でごめんなさいm(_ _)m 写真一つでは、無理があるのかなぁー
3そうだね
プレイ済み
返信[1]
親投稿
shoum shoum0403
あ、ボールのY座標は AYです。 それと、配列変数です
0そうだね
プレイ済み
返信[2]
親投稿
shoum shoum0403
それと92行目のGOTO @Pはないとしてください。単なるミスです
0そうだね
プレイ済み
返信[3]
親投稿
ΖΕΧ ZEX256
嫌じゃ
3そうだね
プレイ済み
返信[4]
親投稿
みむ*mim hidemimtp
今日どこかで誰かに書いた気がするけど、ループ内にVSYNCはありますか?同じフレーム内だと、BUTTON(2)の値は変化せず同じ値を何度も返します。 あとちゃんと動いているかもしれませんが、「OR」は正しくは「||」にすべき所です。 前者は「論理輪」というビット演算で使うもので、後者は単純に「または」という意味で使います。
1そうだね
プレイ済み
返信[5]
親投稿
shoum shoum0403
VSYNCはちゃんとメインループ内にあります。 あと、なぜORこっちではだめなのですか?
1そうだね
プレイ済み
返信[6]
親投稿
何故かは難しいのでここでは省きますが 例えばANDの場合 IF 2 AND 1 THEN だとうまく動きませんが IF 2 && 1 THEN だとうまく動きます。 このようにANDやORと&&や||では意味が違ってきます。
1そうだね
プレイ済み
返信[7]
親投稿
ANDやOR &&や|| この2つは「同じ」ではありません。 「ある条件を満たしたとき、どちらでも同じ動きをする」に過ぎないのです。 「ある条件」が分からなければ使い分けるに限ります。
0そうだね
プレイ済み
返信[8]
親投稿
もちろんこれらの仕組みや動きを理解していていて、かつ問題ないプログラムなら全く問題ないです。
1そうだね
プレイ済み
返信[9]
親投稿
おちゃめ ochame_nako
IF文におけるANDやORの使い方はヘルプに記載されている通りです。 例えば、Bは条件でしょうか?#RIGHTは条件でしょうか?X<0は・・・条件ですね。 この場合はB AND #RIGHTで1括りになります。 B AND #RIGHTの部分を (B AND #RIGHT)==#RIGHT に変更するか、もしくは(公式ガイドブックの記述に合わせるならば)(B AND #RIGHT)>0 に変更すれば正しく動作します。 プログラムには、これが正解というものはありませんが、自分が意図している通りに動いていないものは正解ではないためどこがいけないのかを知る必要があるでしょう。 ちなみに B AND #RIGHT という記述が間違いと言っているわけではなくこれを理解するためにはビット演算と論理演算の理解が必要になるため実は初心者向きではない記述方法というだけの話です。
2そうだね
プレイ済み
返信[10]
親投稿
おちゃめ ochame_nako
これについてこちらのトピックスにて詳しく解説を行っています。 https://miiverse.nintendo.net/posts/AYMHAAACAAADVHjrpjduHA もちろん、論理演算等の知識があればIF B AND #RIGHT || X<0 THEN ~ と記述して何ら問題はありません。(これも正解の1つ)
1そうだね
プレイ済み
返信[11]
親投稿
shoum shoum0403
皆さんありがとうございます。 なんか、解決しました 原因は、FOR文の中にいれてたからみたいです。
1そうだね
プレイ済み