首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

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

2012-01-02 
VC做一个五子棋程序 要求加两个计时器VC做一个五子棋程序 要求加两个计时器 一个记录黑棋的剩余时间 一个

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以上吧。

热点排行