在我的java游戏小程序中,设置计算机和计算机循环是有问题的。我已经尝试了3天,有效地增加了一个一秒的延迟之间的两个电脑播放器转弯,同时也重新油漆的董事会。我尝试过尝试/捕捉/线程.睡眠和等待以及其他一些技巧,但是都没有成功。在程序的当前状态下,当计算机与计算机游戏启动时,程序会在游戏持续时间内冻结(在移动之间有一秒的延迟),然后在游戏完成后显示最后的棋盘。如何使程序在每次移动后重新绘制/延迟?从我所做的所有阅读中,我都知道下面的实现将无法运行,但我的问题是,我无法找到其他方法来实现它。提前感谢!
下面的代码在我的actionPerformed侦听器方法中
if (event.getSource() == startAIvAI)
{
drawing.clear();
while (drawing.hasWon() == -1 && !drawing.isFull())
{
go1();
repaint();
try {
Thread.sleep(1000);
} catch (Exception e) {}
go2();
repaint();
try {
Thread.sleep(1000);
} catch (Exception e) {}
}
}发布于 2016-06-01 13:06:45
当您调用Thread.sleep(1000);时,您认为您正在暂停哪个线程?您的代码可能是以if (event.getSource() == startAIvAI)开头的一个处理事件。
您应该阅读这篇文章来理解该做什么:Sleep method locks my GUI
https://stackoverflow.com/questions/37569381
复制相似问题