0

C++ と Ncurses を使用した動作のプログラミングに問題があります。私はパックマンをプログラミングしていますが、主な問題は、最後に押されたキーだけが必要なことです。

usleepを使用すると、スリープ中に押されたすべてのキーが保存され、それが順番に処理されます。

アイデアをありがとう。

4

2 に答える 2

1

何を試しましたか?

あなたが達成しようとしていることを私が正しく理解していれば、このようなものが機能するはずです:

int t = your_delay;
while (t --> 0)
{
    sleep(1);
    c = getch();
}

本当にマイクロ秒までの時間を計る必要がある場合、これは最善のアプローチではないかもしれませんが、ある程度の許容範囲がある場合は、これで十分です。

于 2012-05-18T21:29:28.070 に答える
0

遅延なしモードですか?もしそうなら、これはうまくいくかもしれません:

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-18T21:33:47.257 に答える