我开始尝试使用curses在C ++中制作一些简单的控制台游戏,而我的第一个项目只是一个可以走动的大房间。我想我将通过让程序保存状态来实现步行角色正在行走的正方形,所以当他走到下一个广场时,它可以恢复那里的任何东西。问题是,我不知道如何将某个位置的角色保存到变量中,令我惊讶的是,我似乎无法找到任何全面的curses文档。我正在寻找这样的功能:
int storage = mvsavechar(1,1);
是否存在任何此类功能?
答案 0 :(得分:1)
您正在寻找mvinch():
int storage = mvinch(1, 1) & A_CHARTEXT;
答案 1 :(得分:0)
我将屏幕状态存储在80x24(或其他)char数组中。但是你可能会根据“大房间”的尺寸来调整阵列的大小。如果房间非常大,您可以使用(例如)坐标和内容的链接列表来存储等效的稀疏数组。
Curses可能没有你想要的功能,因为早期的终端可能没有被查询屏幕内容的能力。
我对curses知之甚少,如果curses维护屏幕内容的详细信息,你可能会想要什么 - 但这似乎不太可能。
答案 2 :(得分:0)
您需要在程序的某种数据结构中存储房间的数据。 Curses是一个输出库。