Javaパックマニアゲームに関するチュートリアルを読んでいます。
これが問題のコードです。
if (pacmanx % blocksize == 0 && pacmany % blocksize == 0) {
pos = // integer
ch = screendata[pos];
if ((ch & 16) != 0) { // do not understand this.
screendata[pos] = (short)(ch & 15);
...
}
私はシングル&を本当に理解していません。このオペランドがifステートメントの両側をチェックするか、ビット演算子であることを理解しています。ただし、以下のテストによると、次のいずれでもないようです。
if I was to test (ch = 18):
(ch & 16) = 16
(ch & 8) = 0
(ch & 2) = 2
ありがとう