2012-12-30 53 views
-5

我想在C++中做一个基本的简单游戏,用户需要不断输入,并且应该有其他东西(移动对象(*))的不断输出。同时循环

即使用户没有输入任何东西,对象也必须保持移动。这需要两个循环同时运行,我不知道该怎么做。

没有图形只是基本的符号和字母。

+1

使用终端库,如'ncurses'。您可以在'STDIN_FILENO'上等待轮询事件循环;不需要线程。 –

+0

主题? [填充] –

+0

显然,线程。 –

回答

1

你不需要两个同时循环。你应该只有一个循环。在每次循环迭代中,您将更新您的游戏输出,然后在用户输入任何输入时检查,然后。如果他有,那么你阅读并处理它;否则,你只需继续下一个循环迭代。开始使用_kbhit和_getch函数的一种简单方法,但您可能需要最终使用像ncurses或Win32控制台函数等更高级的东西。

while(!gameOver) { 
    DisplayGameState(); 

    if(_kbhit()) { 
     int c = _getch(); 
     ProcessInput(c); 
    } 
}