X=X+(1AND B>>3)-(1AND B>>2)
Y=Y+(1AND B>>1)-(1AND B)
この処理では、ボタン操作の結果 変数 B をもとに計算式のみで直接、座標X,Yに反映しています。
ここで使う技術は、ビットシフトと、ビット演算です。
ビットシフト
ビットシフトとは、数値のビット構成をベルトコンベアー式に、隣の桁に移動させる演算です。
<< 左シフト、>> 右シフトがあります(ここでは算術シフト、論理シフトについては割愛します)
B>>3
この記述で B を 3ビット右シフトします。
B が 8 (1000) だったとしましょう。
B>>3 の結果は 1 (0001) です、ビットの位置が右に3つ移動しています。
0そうだね プレイ済み