1

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

int storage = mvsavechar(1,1);

有没有这样的功能?

4

3 回答 3

1

您正在寻找mvinch()

int storage = mvinch(1, 1) & A_CHARTEXT;
于 2010-11-05T15:48:22.767 回答
0

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

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

我对诅咒知之甚少,如果诅咒保持屏幕内容的详细信息,你想要的可能是可能的——但这似乎不太可能。

于 2010-11-05T15:42:55.987 回答
0

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

于 2010-11-05T15:44:21.313 回答