在我想要使用Ncurses的方向上移动一个点

时间:2016-11-25 13:54:11

标签: c++ ncurses

我想在linux终端中向我想要的方向移动一点但是我没有想到我希望我无法找到我失踪的地方。 这是我的代码`

#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;
}

1 个答案:

答案 0 :(得分:0)

第一个问题(实际上并不知道ncurses api):找出getch()返回的内容。这通常是一个ascii字符,值1,2,3和5不是键盘传递的ascii值。你可能想要引用的字符:&#39; 1&#39;,&#39; 2&#39;,&#39; 3&#39;和&#39; 5&#39;虽然ncurses' manual显示了如何使用KEY_LEFT,...来读取箭头键