我是C ++和Mac编程的新手。目前正试图建立一个小蛇控制台游戏或者其他东西作为学习练习。
现在我无法弄清楚如何监控按键。在类似练习的Windows中,我使用了GetAsyncKeyState
。我不确定Mac的等价物是什么?我看到很多关于ncurses.h
或Carbon/Carbon.h
的文章,但我对这些的所有尝试都失败了。
如果有人能帮助我实现这一点,我真的很感激,或者指出一些关于按键监控的详细解释分步指南。
以下是我到目前为止的骨架程序。
#include <iostream>
#include <cstdlib>
#include <sys/time.h> //need this for the time stuff
using namespace std;
long fnMilliSecs()
{
//returns milliseconds that day as long
timeval time; //declares var
long millis;
gettimeofday(&time, NULL); //this gets time
millis = (time.tv_sec * 1000) + (time.tv_usec / 1000);
return millis;
}
int main(int argc, const char * argv[])
{
long lngMilliSecondsNow;
cout << "1\n";
cout << "2\n";
//system pause
lngMilliSecondsNow = fnMilliSecs();
//wait for 5 secs while monitoring for key press
do
{
//if a certain key is pressed, do something like print it to console
### NEED TO FIGURE OUT THIS SECTION ###
} while (fnMilliSecs() < lngMilliSecondsNow + 5000);
cout << "3\n";
return 0;
}