今更ながら、カルノー図について解説しておきますね。
カルノー図は画像のような図になります。
SCHRが2,3,6,7,10のいずれかの場合を例に解説します。
まず、2,3,6,7,10を2進数に直すと
00 10
00 11
01 10
01 11
10 10
になるので、カルノー図の対応するマスを1にします。
次に、カルノー図上で1になってる全てのマスをなるべく大きな長方形で囲みます。
ただし、長方形の辺は1,2,4のいずれかの長さである必要があって、左端と右端、上端と下端は繋がってるものとして考えます。(ドラクエのマップと同じです)
そしたら、各長方形の確定している桁を1とした数とSCHRのANDを取ります。
この場合、正方形の方はSCHR AND 10(1010),長方形の方はSCHR AND 7(0111)になります。
あとは、AND取った値が確定した値と等しいか調べます。確定してない桁は0とします。
…正方形の方は2==(SCHR AND 10),長方形の方は2==(SCHR AND 7)ですね。
あとは、それらのORを取れば完成です。
最終的に
IF 2==(SCHR AND 10) || 2==(SCHR AND 7) THEN
になります。
SCHRは0〜15想定です。SCHRが18とかでも条件に引っ掛かります。
AND取ってるのが2進数で000…1010 なので、これを111…1010にすれば16以上が入っても上手く行ったり。