C - Ncurses窗口不显示

时间:2014-07-08 17:17:35

标签: c ncurses

我的光标移动按预期工作,唯一的问题是我的窗口没有显示出来。我写在窗口中的内容没有显示。我尝试使用谷歌搜索解决方案,但类似的代码与我的方式相同。我只是不知道这里有什么问题。

编辑:我忘了提到,我对这个窗口的实际意图是获得游戏的更新分数。你看到的印刷品就是一个例子。

#include <ncurses.h>
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int y = 0;
    int x = 0;
    int oldy = 0;
    int oldx = 0;
    char m = 'l';
    initscr();
    WINDOW* win;
    win = newwin(1, 40, 10 ,0);
    mvwprintw(win,0,0,"First line");
    wrefresh(win);

    while(m != 'q')
    {
            m=getch();
    if(m == 's')
        {
            move((y= oldy+1),x);
            refresh();
            oldy = y;
        }
    else if(m == 'd')
        {
            move(y,(x=oldx+1));
            refresh();
            oldx = x;
        }
    else if(m == 'a')
        {
            move(y,(x=oldx-1));
            refresh();
            oldx = x;
        }
    else if(m == 'w')
        {
            move((y= oldy-1),x);
            refresh();
            oldy = y;
        }
    else 
        m = 'q';
    }

    delwin(win);
    endwin();

    return 0;
}

1 个答案:

答案 0 :(得分:0)

请执行以下操作,

#include <ncurses.h>
#include <stdio.h>
#include <stdlib.h>

int main()
{
        int y = 0;
        int x = 0;
        int oldy = 0;
        int oldx = 0;
        char m = 'l';
        initscr();

        mvaddstr(0,0, "First line");

        while(m != 'q')
        {
                m=getch();
                if(m == 's')
                {
                        move((y= oldy+1),x);
                        refresh();
                        oldy = y;
                }
                ................
                ................