プレイ日記
むぎちょこ ao-puyo-puyo
左を押している→SP1が左に動く 下を押している→SP1が下に動く という動作をするプログラムを作ったのですが、では 左と下を押している→SP1が左下に動く という動作をさせたいときはどのように書けばいいのでしょうか。
1そうだね
プレイ済み
返信[1]
親投稿
みむ*mim hidemimtp
BU==2 とかを、BU AND 2 にすればOKです。
1そうだね
プレイ済み
返信[2]
親投稿
いがぐりた ginkamen16
B=BUTTON(0) IF B=1 THEN …… この書き方だとボタン入力が1つ分しか入りませんが、ANDを使えば複数の入力を判定できます。 B=BUTTON(0) IF (B AND 1 AND 4)>0 THEN …… この書き方だと上と左が押された時に反応します。このTHENの後に左上が押された時の処理を書けばOKです。
0そうだね
プレイ済み
返信[3]
親投稿
いがぐりた ginkamen16
ANDはコンピューターに入力された2進法の数値の1の場所を調べる命令で、複数の数値を2進法に直して1が両方入っている部分にのみ1の数値を返してくれます。Bに入力が入ってる数値と1と4(1と4を2進法で表した数)がそれぞれ1の場所が一致していれば、1の数値が戻ってきて0より大きくなるのでIF文のTHEN以降が適応されるようになります。
1そうだね
プレイ済み
返信[4]
親投稿
みむ*mim hidemimtp
追伸 ==だと「そのボタンのみが押されていたら」ですが、ANDなら「他のボタンが押されていても、そのボタンが押されていたら」という解釈になります。 理論的な事は、プチコンmkIIの解説を見てください。 http://smileboom.com/special/ptcm2/co_konnichiwa/p11.php
1そうだね
プレイ済み
返信[5]
親投稿
むぎちょこ ao-puyo-puyo
コメントにあったように、==をANDに変えたらすごいいい感じに動作しました。 ANDなんてあったのですね…てっきり&&と同じものだと思っていましたw 丁寧に説明してくださり、ありがとうございます。
0そうだね
プレイ済み