VS控制台下计时器的问题
我想编一个控制台下的程序,想为程序加一个计时器,可是计时器只有在鼠标动的时候才会更新时间
下面是我的代码:
while (true)
{
if (a[m-1][n-1]==0)
{
system("CLS");
printf("YOU WIN IT");
Sleep(5000);
ExitProcess(0);
}
SetConsoleMode(hStdin, fdwMode);
ReadConsoleInput(hStdin, &InBuf, 1, &cNumRead);
if (MouseClick(InBuf))
{
x=(InBuf.Event.MouseEvent.dwMousePosition.X-StartX)/2;
y=InBuf.Event.MouseEvent.dwMousePosition.Y-StartY;
if ((x>=0) && (x<=n-1)&&(y>=0)&&(y<=m-1)&&(a[y][x]>0))
{
flood(a,m,n,y,x);
gotoXY(0,0);
PrintBubble(a,m,n);
}
}
gotoXY(0,m);
PrintTime(StarTime);
}
我自己通过调试,确定问题应该在ReadConsoleInput(hStdin, &InBuf, 1, &cNumRead)这一句上,程序应该是在这里进入了一个循环,等待捕获鼠标事件,于是我尝试着加上判断,即修改成
if (!(ReadConsoleInput(hStdin, &InBuf, 1, &cNumRead)))
gotoXY(0,m);
PrintTime(StarTime);
后面跟上原来的内容,但是问题并没有解决
求高手帮忙看看
下面是我的代码:
while (true)
{
if (a[m-1][n-1]==0)
{
system("CLS");
printf("YOU WIN IT");
Sleep(5000);
ExitProcess(0);
}
SetConsoleMode(hStdin, fdwMode);
ReadConsoleInput(hStdin, &InBuf, 1, &cNumRead);
if (MouseClick(InBuf))
{
x=(InBuf.Event.MouseEvent.dwMousePosition.X-StartX)/2;
y=InBuf.Event.MouseEvent.dwMousePosition.Y-StartY;
if ((x>=0) && (x<=n-1)&&(y>=0)&&(y<=m-1)&&(a[y][x]>0))
{
flood(a,m,n,y,x);
gotoXY(0,0);
PrintBubble(a,m,n);
}
}
gotoXY(0,m);
PrintTime(StarTime);
}
我自己通过调试,确定问题应该在ReadConsoleInput(hStdin, &InBuf, 1, &cNumRead)这一句上,程序应该是在这里进入了一个循环,等待捕获鼠标事件,于是我尝试着加上判断,即修改成
if (!(ReadConsoleInput(hStdin, &InBuf, 1, &cNumRead)))
gotoXY(0,m);
PrintTime(StarTime);
后面跟上原来的内容,但是问题并没有解决
求高手帮忙看看
...全文
相关推荐
魔方计时器 vs2008 c#
学习其实功能时一不小心做的,精确到毫秒 按下键盘弹起时开始计时,再按下时停止 功能就和各大主流魔方计时器差不多
jsq.rar_alphabett8e_repeatucn_vb 计时_vs2008写的计时器
vs2008写的简单的计时器,代码是vb
PPT计时器源码.rar
PPT计时器C#源码,可以供参考,VS2013编译通过。
qt实现计时器
qt实现计时器,可以实现00:00:00的计时效果。可以根据全局变量flag标志位的变化控制计时器的开始和结束!我是新人,写的有很多不足还望 高手指教谢谢!
ppt演讲类比赛计时器
最近单位举办比赛需要计时,在网上找了好多都不合适,决定自己写一个。使用vs2010+c#+wpf10编写。


其它技术问题
