我对使用C++和Ncurses的编程运动有问题。我正在编写pacman的程序,主要问题是,我只想在时间段内最后一次按下键。
当我使用usleep时,它保存了睡眠期间按下的每个键,然后按顺序处理。
谢谢你的想法。
发布于 2012-05-18 21:33:47
你在无延迟模式下吗?如果是这样的话,这可能会奏效:
usleep(your_delay);
last_key = ERR;
while ( (key=getch()) != ERR ) {
last_key = key;
}
// "last_key" now holds most recent key, if there was one, else ERR发布于 2012-05-18 21:29:28
你试过什么?
如果我正确地理解了你想要达到的目标,这样的事情应该是可行的:
int t = your_delay;
while (t --> 0)
{
sleep(1);
c = getch();
}如果你真的需要计时到微秒,这可能不是最好的方法,但如果你有一些宽容,这应该就足够了。
https://stackoverflow.com/questions/10659798
复制相似问题