我如何使用Ncurses在屏幕周围制作一个方框

我如何使用Ncurses在屏幕周围制作一个方框,c,interface,ncurses,C,Interface,Ncurses,我正在做一个简单的程序,让一个盒子在一个开阔的地方移动。现在,我想在屏幕周围做一个框(不像Ncurses窗口,只是为了显示)。我只是不知道怎么做。我搜索了谷歌,也找到了解决这个问题的方法,但是我找不到。有人知道怎么在屏幕上做这样的盒子吗 碰撞已经发生了,我只需要在它周围做一个盒子。我曾考虑在Ncurses中使用像普通方框一样的字符,但这可能是不可能的,可以在方框中创建一个方框吗 这里我举了一个使用Ncurses制作的方框的例子(虽然我的格式很糟糕,但实际方框中没有点) 此代码是运动代码,还计算

我正在做一个简单的程序,让一个盒子在一个开阔的地方移动。现在,我想在屏幕周围做一个框(不像Ncurses窗口,只是为了显示)。我只是不知道怎么做。我搜索了谷歌,也找到了解决这个问题的方法,但是我找不到。有人知道怎么在屏幕上做这样的盒子吗

碰撞已经发生了,我只需要在它周围做一个盒子。我曾考虑在Ncurses中使用像普通方框一样的字符,但这可能是不可能的,可以在方框中创建一个方框吗

这里我举了一个使用Ncurses制作的方框的例子(虽然我的格式很糟糕,但实际方框中没有点)

此代码是运动代码,还计算与字段外部的碰撞(因此框应位于何处):

while((ch=getch())!=KEY\u F(1))
{开关(ch)
{案例键_左:
如果(win.startx>1){
创建_框(&win,FALSE);
--win.startx;
创建_框(&win,TRUE);
}
打破
案例编号:右:
if(win.startx1){
创建_框(&win,FALSE);
--温·斯塔蒂;
创建_框(&win,TRUE);
}
打破
案例键向下:

如果(win.starty查看代码,它就在那里。该函数甚至被称为
create\u box


提示:调用
mvaddch
需要3个参数:y位置、x位置和要放在该位置上的字符。
p\u-win->border.XX
是定义边框字符的常量,如左上角的
tl

我不确定问题出在哪里。您已经绘制了小框,所以绘制了对我来说,大的一个似乎基本上是同一个问题。是的,我只是不能让它与我尝试过的代码一起工作。我对它是新手,我不知道如何处理它,所以我怀疑你也没有自己编写它的其余部分。你尝试过/学到了什么,所以大部分都是从互联网上获得的
+--------+
|........|
+--------+
while((ch = getch()) != KEY_F(1))
{   switch(ch)
    {   case KEY_LEFT:
        if(win.startx>1){
            create_box(&win, FALSE);
            --win.startx;
            create_box(&win, TRUE);
        }
            break;
        case KEY_RIGHT:
        if(win.startx<122){
            create_box(&win, FALSE);
            ++win.startx;
            create_box(&win, TRUE);
        }
            break;
        case KEY_UP:
        if(win.starty>1){
            create_box(&win, FALSE);
            --win.starty;
            create_box(&win, TRUE);
        }
            break;
        case KEY_DOWN:
        if(win.starty<44){
            create_box(&win, FALSE);
            ++win.starty;
            create_box(&win, TRUE);
        }
            break;  
    }
}
endwin();
return 0;