我试图用Javascript制作一个对象,这基本上是棋盘游戏风险的地图。 (我使用的布局是here)。
我试图弄清楚如何将边境国家联系起来最简单,我想知道这个解决方案是否有效:
TERRITORY = {
//North America (5)
Alaska: {NAME: "Alaska_NA", LINKED: [TERRITORY.Alberta.NAME, /* ect... */]},
Alberta = {NAME: "Alberta_NA", LINKED: [TERRITORY.Alaska.NAME, /* ect... */]},
// ect....
};
我很确定我无法在LINKED属性中引用TERRITORY,但我想知道什么会起作用?如果可能的话,我想避免使用超长if语句。
要清楚,这就是所有代码:
TERRITORY = {
//North America (5)
Alaska: {NAME: "Alaska_NA", LINKED: [TERRITORY.Alberta.NAME, /* ect... */]},
Alberta = {NAME: "Alberta_NA", LINKED: [TERRITORY.Alaska.NAME, /* ect... */]},
// ect....
};
function country(territory) {
this.name = territory.NAME;
this.linked = territory.LINKED;
};
function map() {
this.alaska = new this.country(TERRITORY.Alaska);
};
map.prototype.country = country;
map.prototype.TERRITORY = TERRITORY;
实际上,我只是认为这样的事情会起作用,但我仍然希望对其他建议有所了解:
TERRITORY = {
//North America (5)
Alaska: "Alaska_NA",
Alberta = "Alberta_NA",
// ect....
};
function country(name, linked) {
this.name = name;
this.controller = this.COLOR.NONE;
this.linked = linked;
};
function map() {
this.alaska = new this.country(TERRITORY.Alaska,
[TERRITORY.Alberta, /* ect... */ ]);
// ect...
};
map.prototype.country = country;
map.prototype.TERRITORY = TERRITORY;
任何帮助都将不胜感激。