Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 爪哇,假及&;假工作_Java - Fatal编程技术网

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是真的。