我目前正在使用C語言編寫基於文本的遊戲,並且在發生某些事件時遇到了改變值的問題。下面是我的一些數據結構代碼:指向不同結構內結構的指針。 C
typedef struct player {
int maxhealth;
int curhealth;
int in_combat;
monster c_enemy;
char *class;
char *condition;
rooms c_room;
inventory i;
stats stats;
} player;
現在,我想的,而不是指向一個房間我的問題是,我現在有c_room(當前室)作爲客房。這稍後會影響我,因爲我需要在當前房間的結構房間內改變像n_monsters這樣的東西。但是,當我通過執行p.c_rooms.n_monsters - = 1修改它時,我不確定它會改變我應該提到的房間的n_monsters的實際價值。我已經通過在n_monsters爲0時離開房間來測試這一點,然後回來看它回到默認值1。
所以是啊,我該怎麼指向右邊的房間? 剛:
typedef struct player {
int maxhealth;
int curhealth;
int in_combat;
monster c_enemy;
char *class;
char *condition;
rooms *c_room; // Like this?
inventory i;
stats stats;
} player;
// And then the assignment would look like:
c_room = *rooms[3]; <- an array of rooms for the dungeon in the game.
你不告訴我們什麼是「房間」。它是'typedef'-ed'struct'嗎? – 2012-03-16 06:44:33
看起來合理;是否有什麼讓你覺得這不起作用? – mfrankli 2012-03-16 06:45:28
我想你想c_room =&(room [3]); //指向4間房間,如果你有房間* c_room; – Glenn 2012-03-16 06:50:18