2010-11-05 25 views
1

我開始嘗試在C++中用curses製作一些簡單的遊戲控制檯遊戲,而我的第一個項目只是一個大房間可以四處走動。我想通過讓程序保存方形狀態來實現步行角色正在行走,所以當他走到下一個廣場時,它可以恢復那裏的任何東西。問題是,我不知道如何將角色保存在某個特定位置的變量,而令我驚訝的是我似乎找不到任何全面的curses文檔。我正在尋找這樣的功能:如何在curses中保存佔據特定空間的角色?

int storage = mvsavechar(1,1);

是否有這樣的功能存在嗎?

回答

1

您正在尋找mvinch()

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

謝謝,看起來正是我需要的! – Maulrus 2010-11-05 15:52:18

0

我會在80x24(或其他)字符數組中存儲屏幕狀態。但是可能你會選擇與你的「大房間」的尺寸相匹配的陣列。如果房間非常大,則可以通過使用(例如)內容的座標&的鏈接列表來存儲等效的稀疏數組。

詛咒可能沒有你想要的功能,因爲早期的終端可能沒有被審問有關屏幕內容的能力。

我對詛咒知之甚少,如果詛咒保留了屏幕內容的細節,您可能會想要什麼 - 但這似乎不太可能。

0

您將需要在您的程序中以某種數據結構存儲房間的數據。詛咒是一個輸出庫。

+0

我明白,但我想現在就試試這個我的方式:打印輸出和開關的人物作爲玩家導航。當它變得足夠複雜,我需要存儲整個房間的狀態時,我會開始這樣做。 – Maulrus 2010-11-05 15:53:33

相關問題