专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VC

VC做一个五子棋程序 要求加两个计时器,该如何解决

发布时间:2011-06-23 14:27:25 文章来源:www.iduyao.cn 采编人员:星星草
VC做一个五子棋程序 要求加两个计时器
VC做一个五子棋程序 要求加两个计时器 一个记录黑棋的剩余时间 一个记录白棋的 应该怎么做?

------解决方案--------------------
用一个就够了,不应该是在同一时间内同时计算双方的剩余时间。
------解决方案--------------------
的确只需要一个计时器就可以了,但是需要2个变量来记录双方各自的时间。
基本的操作是这样的,在棋局开始的时候 SetTimer(TIMER_FIVE,TIME_UNIT,NULL);
TIMER_FIVE是计时器的序号,可以定义成任意一个整数;TIME_UNIT是时间间隔,单位毫秒,
考虑到双方下棋的频率,个人认为200比较合适。
然后继承CWnd的OnTimer函数,当发现参数nIDEvent==TIMER_FIVE的时候,判断下下棋的人,
把他的时间加上200ms。

当白方或者黑方下子后,KillTimer(TIMER_FIVE);然后做你相关的一些计算,更换下棋人;
然后再SetTimer(TIMER_FIVE,TIME_UNIT,NULL);

你可以更改TIME_UNIT的值,但是最好也不要太小,不要妄想1或者2,因为一方面这加重了系统的负担,另一方面大概CWnd的TIMER也做不到那么精确,建议50以上吧。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: