如何在诅咒中保存占据某个空间的角色?

时间:2010-11-05 15:34:31

标签: ncurses curses

我开始尝试使用curses在C ++中制作一些简单的控制台游戏,而我的第一个项目只是一个可以走动的大房间。我想我将通过让程序保存状态来实现步行角色正在行走的正方形,所以当他走到下一个广场时,它可以恢复那里的任何东西。问题是,我不知道如何将某个位置的角色保存到变量中,令我惊讶的是,我似乎无法找到任何全面的curses文档。我正在寻找这样的功能:

int storage = mvsavechar(1,1);

是否存在任何此类功能?

3 个答案:

答案 0 :(得分:1)

您正在寻找mvinch()

int storage = mvinch(1, 1) & A_CHARTEXT;

答案 1 :(得分:0)

我将屏幕状态存储在80x24(或其他)char数组中。但是你可能会根据“大房间”的尺寸来调整阵列的大小。如果房间非常大,您可以使用(例如)坐标和内容的链接列表来存储等效的稀疏数组。

Curses可能没有你想要的功能,因为早期的终端可能没有被查询屏幕内容的能力。

我对curses知之甚少,如果curses维护屏幕内容的详细信息,你可能会想要什么 - 但这似乎不太可能。

答案 2 :(得分:0)

您需要在程序的某种数据结构中存储房间的数据。 Curses是一个输出库。