コミュニティアイコン プチコン 非公式コミュニティ トピック

アバター
たいが ◆Yob.EIqcFFbI
2018/1/11 23:15
質問
if命令について
公式ガイドブックをよくみているんですがそこでif(BUand1)THENXX=0yy=-32
と書いてある部分があってそのプログラムをしていたんてすが意味がわかりません分かるかたいたら教えてください

コメント

アバター
オワたず 2018/1/11 23:42 ◆w7BXxYlkW2NJ
そのコードを日本語にすると
「もしも変数BUが1だったら、変数XXを0にして、変数YYを-32にする」
という意味です。(多分
アバター
おちゃめ 2018/1/12 0:11 ◆jH1opV6FnGyx
IF (BU AND 1) THEN 〜というのはIF (BU AND 1)!=0 THEN 〜から「!=0」を省略したものと考えると分かりやすいです。
つまり、「BU AND 1」の値が「0以外」ならばTHEN以下を実行するわけです。
「BU AND 1」の値は0もしくは1になるため「BU AND 1」の値が「1の場合」と考えることもできます。

さらに詳しくは私のプチコン3号講座を参考にしてみてください。
http://ochameclub.web.fc2.com/petitcom3/lecture/logic.htm#2
アバター
おちゃめ 2018/1/12 0:36 ◆jH1opV6FnGyx
ちなみに「BU AND 1」の「AND」はリンク先の講座で図解しているように特定の値だけ通すフィルターみたいなものと考えると分かりやすいです。
BU AND 1ならば1だけ通すのでBUにBUTTON()関数の値が入っているならば上ボタン(値が1)を押したときのみBU AND 1の値は1になり、上ボタンを押してないときはBU AND 1の値は0になります。
アバター
こういち 2018/1/12 5:38 ◆ou0jbJnEJ0Kb
if BU MOD 2 ThEN〜
とほぼ同じ意味です。
アバター
キルル2 2018/1/12 8:47 ◆rGE712Ruejv7
そのまま意味を書くと
「BUと1との倫理積が真なら、XXを0に、YYを-32にしろ」
です
「倫理積」というのは2進数の演算の1つで、左辺(BU)と右辺(1)の各ビットを見ていき、どっちも1になっているところだけ抽出するものです(この場合、1は最初の1ビットだけが1なので、BUの最初の1ビットが1(BUが奇数)なら1になる)
「真」というのは0以外の値のことです
アバター
Ryou Tanpo 2018/1/23 16:20 ◆AI5iRr9FjmkJ
論理積を勉強しようとすると軽く2進数ビットの知識が必要だからねー...

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -