Java 爪哇,假及&;假工作
我试着搜索这个,但我真的不知道如何用词来表达它,看看是否有人发布了答案Java 爪哇,假及&;假工作,java,Java,我试着搜索这个,但我真的不知道如何用词来表达它,看看是否有人发布了答案 然而,我正在做一个国际象棋游戏和一个AI,这是非常困难的,我的问题是当我检查两个棋子是否在同一个团队中时,我必须做(atLoc.isWhite()&&selected.isWhite())| |(!atLoc.isWhite()&&selected.isWhite())这是一个冗长的问题,是否有一个操作符允许False&&False给出True,以及True&&True给出True,如果您不理解,很抱歉。您正在寻找XOR的倒
然而,我正在做一个国际象棋游戏和一个AI,这是非常困难的,我的问题是当我检查两个棋子是否在同一个团队中时,我必须做
(atLoc.isWhite()&&selected.isWhite())| |(!atLoc.isWhite()&&selected.isWhite())
这是一个冗长的问题,是否有一个操作符允许False&&False给出True,以及True&&True给出True,如果您不理解,很抱歉。您正在寻找XOR的倒数:
!(atLoc.isWhite() ^ selected.isWhite())
不过,正如汤姆所评论的那样,这有什么问题:
atLoc.isWhite() == selected.isWhite()
您正在寻找XOR的逆运算:
!(atLoc.isWhite() ^ selected.isWhite())
不过,正如汤姆所评论的那样,这有什么问题:
atLoc.isWhite() == selected.isWhite()
atLoc.isWhite()==selectec.isWhite()
不是很明显吗?枚举团队{White,Black}已选中。isSameTeam(atLoc)不使用isWhite()
。定义具有<代码>黑色<代码>和<代码>白色<代码>的枚举类型<代码>颜色<代码>。然后定义一个方法getColor()
,这样您就可以简单地执行atLoc.getColor()==selected.getColor()
“…一个允许False和False给出True的操作符”?我想你对布尔代数的规则很困惑。这就像说“我希望0*0等于1。”这不是很明显吗。定义具有<代码>黑色<代码>和<代码>白色<代码>的枚举类型<代码>颜色<代码>。然后定义一个方法getColor()
,这样您就可以简单地执行atLoc.getColor()==selected.getColor()
“…一个允许False和False给出True的操作符”?我想你对布尔代数的规则很困惑。这就像说“我希望0*0等于1”。@OliPro007如果你只有白色和非白色(也称为黑色),那么你基本上会检查两者是否都是白色(true==true)或非白色(false==false),也就是说,“它们都返回相同的值吗?”@OliPro007如果你是黑色团队中的一员,并且作品是黑色的,那么isWhite()
调用都会返回false,false==false为true。@OliPro007如果只有白色和非白色(也称为黑色),则基本上检查两者是否都是白色(true==true)或非白色(false==false),即“它们是否都返回相同的值?”。@OliPro007如果您是黑色团队中的一员,并且工件是黑色的,则两个isWhite()
调用都将返回false,false==false是真的。