2016-03-11 149 views
1

我已經試過尋找這個,但我真的不知道如何用它來查看是否有其他人發佈了答案。爪哇,假&&假工作

但是,我正在製作一款國際象棋遊戲和一個AI,它是非常困難的,我的問題是當我檢查兩件作品是否在同一個團隊中時,我必須做的(atLoc.isWhite() && selected.isWhite()) || (!atLoc.isWhite() && !selected.isWhite())這是一個很長的囉嗦。一個運算符,允許錯誤& &錯誤發出真實和真實& &如果你不明白的話,真的給予真實,抱歉。

+2

是不是'atLoc.isWhite()== selectec.isWhite ()'很明顯? – Tom

+0

enum Team {White,Black} selected.isSameTeam(atLoc) – DwB

+0

不要使用'isWhite()'。定義一個枚舉類型'Color',它具有'BLACK'和'WHITE'。然後定義一個方法'getColor()',這樣你就可以簡單地'atLoc.getColor()== selected.getColor()'。 – Neil

回答

5

您正在尋找XOR的逆:雖然

!(atLoc.isWhite()^selected.isWhite()) 

,湯姆評論說,這有什麼錯:

atLoc.isWhite() == selected.isWhite() 
+0

@ OliPro007如果您只有白色和非白色(又名黑色),那麼您基本上會檢查它們是否都是白色(true == true)或不是(false == false),即「它們是否都返回相同的值? 。 – Thomas

+0

@ OliPro007如果你在黑人隊伍中,而且棋子是黑色的,那麼'isWhite()'調用將返回false,並且false == false爲true。 – Eran