うちゅうじんさんの説明はちょっと足りないのよ 厳密には(BUTTON(1) AND 16) == 16って感じかな まず、ボタン命令の結果と16をビット演算でANDを取ります ANDを取ると二つの値で一致したビットだけが残るので、同時押ししてるボタンがなんであっても0か16の2パターンの結果が得られます これだけなら0=FALSE 0以外=TRUEと判断されるので問題ないのですが BUTTON(1) AND 5の場合、つまり↑←同時押しで斜めのケースですね この結果は0、1、4、5の4パターンになってしまうので斜め以外でもTRUEと判断されてしまいます なのできっちり(BUTTON(1) AND 5)==5として斜めだけを認識するようにしてあげる必要があるのです