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