gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 04:39:03 24 4
gpt4 key购买 nike

我正在制作一个简单的程序,让盒子在开放区域移动。现在完成了,我想在屏幕周围做一个框(不像 Ncurses 窗口,只是为了显示)。我只是不知道该怎么做。我在谷歌和 SO 上搜索了这个问题的解决方案,但我找不到。有谁知道如何在屏幕周围制作一个像这样的盒子。

Here U go

碰撞已经存在,我只需要在它周围做一个盒子。我正在考虑在 Ncurses 中使用像普通盒子一样的字符,但这可能是不可能的,是否可以在盒子中制作一个盒子?

这里我有一个我使用 Ncurses 制作的盒子的例子(虽然我的格式很糟糕,真正的盒子里没有这些点)

+--------+
|........|
+--------+

这段代码是移动的代码,也计算了与 field 外部的碰撞(所以盒子应该在哪里):

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;

如您所见,大框位于第一个 x 和 y 行(因此终端中的第一列和终端中的第一行)以及第 44 行和第 122 列(最多的一个)终端中底部和最右边的行和列)。碰撞已经存在,如果你想要完整的代码,你可以点击这个 link to pastebin你可以看到它是如何工作的。 (记得在编译命令后面加上-lncurses编译)

最佳答案

看看代码,它就在那里。该函数甚至称为 create_box

提示:mvaddch 调用有 3 个参数:y 位置、x 位置和您要放置在该位置的字符。 p_win->border.XX 是常量,每个常量定义一个边框字符,例如 tl 表示左上角。

关于c - 我将如何使用 Ncurses 在屏幕周围制作一个框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28232811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com