在C ++中,Sleep在循环期间没有结束,循环等待Sleep完成?

时间:2018-03-17 04:09:34

标签: c++ loops while-loop sleep

我无法弄清楚如何使这项工作:

cout << "Start"; 
cin.ignore(); // Starts the loop.

int x = 1;

while ( x == 1 )
    {
        if ( x != 2 )
            {
                cout << "\nThe screen counts down from 10.";
                x = x + 1;
                Sleep ( 10000 ); // Gives the user 10 seconds to make x = 3 and disable the bomb.
                cout << "\nEnter the correct number to disable the bomb: ";
                cin >> x; // Sleep makes x = 2 after 10 seconds if user doesn't make x = 3.
            }
        else if ( x == 2 )
            cout << "\nThe bomb went off and you died.";
        else if ( x == 3 )
            cout << "\nYou successfully disabled the bomb!";
    }

运行此程序后,输出为:

&#34;屏幕从10开始倒计时。

10秒过去。

输入正确的号码以禁用炸弹:&#34;

我要运行此程序的方式,也是让用户cin&gt;&gt; x而等式x = x + 1等待执行Sleep。但是,在进入下一个声明之前,程序似乎等待Sleep完成。

如何在执行Sleep时继续循环。这个想法是,如果用户没有足够快地输入3来禁用炸弹,那么由于睡眠,x将为2,并且系统将跳转到while语句的(x == 2)部分。

我还是很陌生的编程,但我正在开发我的第一个游戏。我想包括这一部分,但我不知道这项任务的正确命令可能吗?或者我错过了什么?

0 个答案:

没有答案