过去一个月我一直被困住,我没有找到任何解决方案。我的问题是我正在编写一个四人游戏。三人是电脑,一人是人。
所以有一个用于计算机的 play() 函数和一个用于人类的 Overridden play() 函数。这是人类玩家将使用的功能
@Override
public void play(){
for(int i=0 ; i <13;i++){
getJLabels()[i].addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent evt)
{
int Index = getIndex(getJLabels(), (JLabel)evt.getSource());
getJLabels()[Index].setIcon(getHand()[Index].getBackSide());
getPlayerJLabel().setIcon(getHand()[Index].getCardImage());
setObjectForPlay(getHand()[Index]);
}
});
}
temp = getObjectForPlay();
return temp;
}
其他三个玩家使用 play() 并自动返回一个对象。我的意思是 mouselistener 仅适用于这个 human.play() 函数
我正在从嵌套循环中运行这些函数。当一轮循环完成时,每个玩家完成他的 play() 回合,然后下一个循环开始。等等。
问题是计算机 play() 函数不等待人类点击。我希望循环播放人类 Play() 然后等待人类单击并返回对象。当人类播放()以点击结束时,下一个计算机播放()调用
我的英语很差感谢理解等待好的解决方案