0

curses.h を使用するのは初めてです。上記のコードを投稿しました。右矢印または左矢印が押されたときに関数呼び出しを行う必要があります。コードに描画関数呼び出しを追加すると、矢印キーが押されたときに描画されませんが、ユーザーが「q」を押した後にプログラムが終了すると描画されます。何か案は?

int main(int argc, char * argv[] )
    {
      setup_curses();  
      c = getch();


      while(1)
      {   
        if (c != ERR)
        {
          move(5,0);
          printw("left arrow key rotates counter-clockwise, right clockwise, space for thrust, q to quit.");
          if (c == KEY_LEFT)
            draw();
          else if (c == KEY_RIGHT) 
            draw();
          else if (c == ' ')
            printw("do something");
          else if (c == 'q')
            break;
          refresh();

        }

        c = getch();

      }



    unset_curses();
    exit(EXIT_SUCCESS);
    }


        void setup_curses()
        {
          initscr();
          cbreak();
          noecho();
          keypad(stdscr, true);
        }

        void unset_curses()
        {
          keypad(stdscr, false);
          nodelay(stdscr, false);
          nocbreak();
          echo();
          endwin();
        }
4

0 に答える 0