等待用户输入-Javascript

时间:2018-11-09 00:36:08

标签: javascript listener sleep

我目前正在开发一款适用于两人游戏的网络应用,其中玩家可以是人类玩家或AI。对于每个玩家,我使用的是人类或AI类,并扩展了Agent类。

class Agent{
    ... 
    getMove(){...}
}

相关代码如下:

while(!gameOver){
    move = curAgent.getMove(); 
    updateBoard(move);
    nextPlayer();
}

然后,对于人员代理类,我正在努力提出getMove函数。人类玩家将通过在板上单击来提供动作。这是我目前正在尝试的方法,似乎没有用。

class Human extends Agent{
    ...
    getMove(){
        while(!flag){
            sleep(500);
        }
        flag = false;
        return this.move;
    }


    listener(){
        this.move = ... //when square clicked set move 
        flag = true;
    }
}

我尝试使用setInterval或setTimeout,但是由于它们是非阻塞的,因此函数会立即返回并且主while循环失败。任何帮助将非常感激。有没有一种方法可以重组逻辑来避免此问题?

0 个答案:

没有答案