1: new object A
3: refer to B (and C and F and W)
2: new object B
4: refer to X
etc.
当然也欢迎其他解决方案;
纯粹出于组织/化妆品的原因,我需要像这样使它保持顺序。
我正在制作带有房间的基于文本的游戏,并且通过上面的“引用B”,我打算从房间A退出,该房间通向房间B。我想在每个相应的“房间”对象下方保留相关的映射,而不是像我现在一样在所有房间下面都有一个集体地图部分。
这是我的代码:public class Room
{
[...]
public Tuple<string, Room, [...]> North = new Tuple<string, Room, [...]>
public void MakeNorth(Room exitFrom, string exitName, Room exitTo, [...])
{
exitFrom.North = Tuple.Create(exitName, exitTo, [...]);
}
}
public class World
{
[...]
public static void PopulateRooms()
{
Room kitchen = new Room([...]);
Room bathroom = new Room([...]);
// Map:
kitchen.MakeNorth(kitchen, "Kitchen door", bathroom)
kitchen.MakeEast(...)
bathroom.MakeSouth(bathroom, "Bathroom door", kitchen)
}
}
但是我希望PopulateRooms()像这样:
Room kitchen = new Room([...]); kitchen.MakeNorth(kitchen, "Kitchen door", bathroom) kitchen.MakeEast(...) Room bathroom = new Room([...]); bathroom.MakeSouth(bathroom, "Bathroom door", kitchen)
但是,然后浴室参数给出了错误“声明前不能使用局部变量”
例如,是否可以以不同的顺序执行代码行?像这样:1:新对象A 3:引用B(以及C和F和W)2:新对象B 4:引用X等。Other ...