我對C#比較新,我正在創建一個基本的老派地牢任務遊戲,以幫助我掌握視覺工作室和Windows窗體。c#使用數組作爲地圖
我想使用一個對象數組作爲地圖,然後我可以在兩者之間移動(請讓我知道是否有更好的方法)。 (編輯爲清楚起見)所以,如果我開始在currentroom = maparray [0,1],按左將其更改爲currentroom = maparray [0,0]
這裏是我的陣列碼:
public object area_init()
{Area hall = new Area("Hall", "big hall", "null", false, 1, 2, false);
Area room = new Area("Room", "room", "null", false, 1, 2, false);
Area[,] maparray = { { hall, room, hall },
{ hall,hall,room},
{ hall,room,room}
};
object[,] maparray = new object[3,3];
當時我想指的是房間,我目前正在像這樣(我知道這是不正確的):
txtbox_ticker.AppendText("You are in a " + maparray[0,1]);
,然後更新了「currentroom」變量說我在哪個房間可以。任何人都會告訴我做這件事的最好方法,以及我出錯的地方?
A [字典](https://msdn.microsoft.com/en-us/library/xfhwa508(V = vs.110)的.aspx)將在這裏工作良好。 '字典 myDungeon'。 –
字典不會讓我在2D空間中移動嗎? 我使用數組的原因是行和列排列成基本地圖。 如果您的currentroom是maparray [0,1],則按左鍵會將您移動到maparray [0,0]等等。 – Retro
每個區域都可以有'string left ='剩餘房間名稱''作爲屬性。然後你可以通過調用'myDungeon [currentArea.left]'來獲得新的區域。你真正需要的是更多的連接圖結構。 –