我正在阅读有关 Java pacman 游戏的教程。
这是有问题的代码。
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
谢谢