こんな感じでボタン1つ1つ判定すればこのままでもいけなくはないですが、めんどくさいです(´з`) 「離した瞬間のボタンだけビットが1になっている変数」を用意できれば、とても楽になります。 (つまりBUTTON(3)に相当する値ですね) ここで、ビット演算を利用します。 もう一度、B0は前のフレームの値なので、ビットが1であるのが条件です。そしてB1はビットが0であるのが条件です。 「両方1のビット」を判定するならこのままANDを使えばいいのですが、B1は「0のビット」の時なのでそのままは使えません。 そのままは使えませんが………B1のビットが全部、0と1が逆になってくれたら使えます。 ここでNOTです。 CPUが今離したボタンのビットが1になっている値=B0 AND B1のビットの01を逆にしたもの ↓ CPUHA=(B0) AND (NOT B1)