我的问题是程序没有按我原意的方式读取代码。
我有
if (hero.getPos() == (6 | 11 | 16)) { move = new Object[] {"Up", "Right", "Left"}; } else { move = new Object[] {"Up", "Down", "Right", "Left"}; }
当英雄位置为6时,程序仍转到其他位置。
这是为什么?是因为操作数吗?如果是,我应该如何更改?
用:
if (hero.getPos() == 6 || hero.getPos() == 11 || hero.getPos() == 16)) {
这将做您想要的。
你所做的是比较hero.getPos()有结果的(6|11|16),将做到按位或这些数字之间。
hero.getPos()
(6|11|16)