我在摇摆中做纸牌游戏(java)
用户必须等待轮到他,拿一张卡,然后按确认。轮不到他的时候,他不能拿任何牌。
它以这种方式开始:
this.cardTaken = false;
board.canTakeCards(!cardTaken);
然后在董事会课程中,下一个动作是:
public void canTakeCards(boolean can) {
if (can) {
this.btnConfirm.setEnabled(false);
this.pnlCards.setCanTake(true);
} else {
this.btnConfirm.setEnabled(true);
this.pnlCards.setCanTake(false);
}
(else
当用户拿卡时发生)。
所以。我得到了Comparison method violates its general contract
在线board.canTakeCards(!cardTaken);
这只发生了一次,我“测试”了我的游戏大约 8 次。我真的很困惑和害怕这个。
我的一个理论是,我在同一执行时间从代码的 2 个不同部分调用此函数,并且它同时接收 atrue
和false
。但是我修改了我的代码,我认为这是不可能的。
有什么建议吗?谢谢