似乎诅咒导致我的循环提前中断
It seems like ncurses is causing my loop to break early
我正在使用ncurses运行一个程序,该程序应该生成一个用于字符移动的窗口,等待~五秒钟,清除窗口,然后重新开始。我的想法是将其放在一个嵌套窗口中,该窗口将执行此操作十次。但是,在前五秒结束后,整个循环被打破,程序完成。
int i=0;
while(i < 10)
{
playwin.makeWindow();
wtimeout(playwin.getWindow(), 0);
originalTime = time(NULL);
while(newTime < 5)
{
newTime = time(NULL);
newTime -= originalTime;
player.display();
playwin.drawWindow();
player.getMv();
}
wclear(playwin.getWindow());
i++;
}
我希望窗口被制作出来,wtimeout 函数将阻止 getMv 函数阻塞,嵌套的 while 循环将显示窗口并允许玩家四处移动。大约五秒钟后,我希望 while 循环结束,窗口被清除,迭代器增加,循环再次启动。
但是,在嵌套的 while 循环结束后,迭代器已经处于 10(使用 printf 验证(,因此整个循环中断。
但是,在嵌套的 while 循环结束后,迭代器已经处于 10(使用 printf 验证(,因此整个循环中断。
newtime 没有可见的初始化,如果它的初始值(如果根本没有 init 可能未定义(不小于 5,则永远不会执行while(newTime < 5)...
,因为 newTime 永远不会改变,我变得古怪 10
如果其初始值小于 5,则while(newTime < 5)...
仅执行一次,因为您没有在之后重置其值
只需在while(newTime < 5) ...
之前添加例如newTime = 0;
(或小于 5 的值(
在进入循环之前,originalTime
设置为当前时间。
一旦你输入,newTime
得到(可能(相同的值。
你从另一个中减去一个,所以newTime
变成 0。
因此,它不会第二次进入循环。
相关文章:
- 我的代码运行良好,但在游戏循环中中断
- 使用 UDP 中断 while()-循环
- 如何使用中断停止循环?
- 为什么当我输入一个被接受的数字时,我的 do-while 循环没有中断?
- 使用 shared_ptr 在中断时结束多线程循环
- 为什么我的 while 循环对于特定输入中断,而对于其他输入工作正常?
- 为什么循环没有中断,并且 if 条件没有按预期工作?
- 螺旋矩阵在最后一个"for"循环中中断,不显示任何内容
- C++While循环无故中断
- 当输出达到某个值时,如何在 c++ 中中断计数器循环
- Atmel Studio 7:ASF 库提供的 USART 中断处理程序仅在 main() 中遇到无限循环时工作一次?
- 如何避免使用 goto 并有效地中断嵌套循环
- 如何在不中断整个循环的情况下跳过循环交互 - C++
- 中断的循环C++
- 我的 break 语句没有中断 for 循环
- while循环中断,我不知道原因
- C++ 为什么我的循环中断了
- C++While循环中断
- 虽然循环中断,但之后的代码永远不会执行
- 删除与另一个成员相等的链表成员的嵌套循环中断.将问题隔离到一行