0

过去一个月我一直被困住,我没有找到任何解决方案。我的问题是我正在编写一个四人游戏。三人是电脑,一人是人。

所以有一个用于计算机的 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() 然后等待人类单击并返回对象。当人类播放()以点击结束时,下一个计算机播放()调用

我的英语很差感谢理解等待好的解决方案

4

0 回答 0