我想创建一个简单的游戏,像tic tac toe,其中人类用户正在与计算机进行游戏。计算机功能需要几毫秒才能运行,但我想给出的感觉是计算机需要5秒才能移动。我应该使用哪种方法?
1)创建两个内存线程。一个用于计算机,另一个用于人类用户。当计算机花费5秒来模拟思考时,人类用户线程会暂停5秒。
2)使用定时器或调度定时器禁用输入设备5秒
3)你能想到的更好的方法..
谢谢!
编辑-问题是如何以及现在为什么。5秒只是一个例子。我更喜欢1-2秒,但出于示例目的,我只选择了5秒。所以请专注于最好的方法,而不是5秒。再次感谢。
发布于 2010-04-21 05:06:11
噪音和闪烁的灯光=数字思维。
通过无限循环将CPU速度提高到100%以产生热量。
开始循环浏览所有文件,使硬盘指示灯闪烁并发出旋转噪音。
运行shell命令将目录切换到光驱,使光驱旋转。
设置大写锁定,数字锁定和滚动锁定开关,一些键盘有指示灯。
检查您的主板是否支持任何额外的闪烁指示灯。
阿!说得好。许多粉丝都有API接口,所以把粉丝开到100%是很酷的。恢复到正常状态可能是危险的,因为如果你不小心永远关闭了风扇,可能会造成严重的损害。
发布于 2010-04-20 15:24:44
你可以将光标变成一个沙漏并禁用主窗体(这将阻止用户输入任何东西),启动一个计时器5秒(我会将这个时间设置为可配置的),当计时器触发时启用主窗体并将光标重新设置为正常。如下所示:
当用户进行移动时调用此方法:
private void UserHasMoved()
{
Enabled = false;
timer1.Interval = 5000;
timer1.Start ();
}然后计时器的事件:
private void timer1_Tick(object sender, EventArgs e)
{
Enabled = true;
timer1.Stop ();
}发布于 2010-04-20 15:24:55
这对速度较快的玩家来说不是很烦人吗?也许转弯需要一秒,但你很快就会发现5秒是too Maybe 。无论哪种方式,都不要暂停UI线程,因为界面会“冻结”。
https://stackoverflow.com/questions/2673288
复制相似问题