2016-11-25 8 views
0

Linux端末での方向にポイントを移動したいのですが、私の希望には/ cは起こっていません。どこに行方不明を見つけることができません。 は、ここで(実際にはncursesのAPIを知らなくても)私のcode`Ncursesを使用したい方向にポイントを移動する

#include<iostream> 
#include<ncurses.h> 
using namespace std; 
int main() 

{ int x=10; 
    int y=10; 
    int z=3; 
    initscr(); 
    for(;;) 
    { WINDOW*win=newwin(75, 75, 3, 2);  
     wrefresh(win); 
     wmove(win,y,x); 
     raw(); 
     noecho(); 
     wprintw(win,"*"); 
     wrefresh(win);  
      usleep(600000); 
     wmove(win,y,x); 
     wprintw(win," ");   //prints space at the coordinates of point where it has earlier print * 
     wrefresh(win); 
     nodelay(stdscr,TRUE);    
     z=getch(); 
      switch(z)  
       { 
        case 5:y+=1; 
          break; 
        case 2:y-=1; 
          break; 
        case 3:x+=1; 
          break; 
        case 1:x-=1; 
         break; 
       }  
    } 
    endwin();    
return 0; 
} 

答えて

0

まず問題です:何getch()リターンを見つけます。これは通常ASCII文字であり、値1,2,3、および5はキーボードで渡されるASCII値ではありません。 ncurses' manualKEY_LEFT、...を矢印キーで読み取る方法を示していますが、 '1'、 '2'、 '3'、 '5'の文字を引用することをお勧めします。

関連する問題