LINUX.ORG.RU

ncurses + wgetch


0

0

Пишу небольшую игрульку, навроде tetris'а.

Возникла небольшая проблема с wgetch(). wtimeout установил в 0.

алгоритм проблемного куска вот такой (скелет)

while (1)
  {
    make_new_block ();

    while (1)
      {
        c = wgetch (win);

        switch (c)
          {
          case KEY_UP:
           ...
          }
        usleep (t);             //-переменная t управляет скоростью падения блоков
        if (block_dropped ())   //если блок ниже не пройдет..
          break;
      }
  }



И здесь возникает проблема со чтением. если например много раз быстро нажать стрелочки, то потом можно вообще клаву не трогать, ибо все будет "нажиматься само".

Все в принципе ясно, нажатия сохранились в буфере и т.д

Но можно ли как-нибудь этот буфер очистить? Я частично содрал код с другой похожей игры, и там такого нет. 
★★★★
Ответ на: комментарий от OxiD

А можно как-нибудь избежать этого алгоритмическим путем? При учете того что wtimeout = 0 ?

OxiD ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.