所以我正在制作一个以中世纪为主题的游戏,我需要一个系统,为不同类型的部队装备盔甲,武器和盾牌的组合。我曾经有一个系统显示我有多少可能的组合,但是很难筛选出一百种组合来查看你有多少兵力。所以,我决定要显示所有部队的菜单,但每个部队只需要三个插槽:盔甲,武器和盾牌。因为部队刚刚开始
var basicTroopAmount = 0;
当你招募他们时,金额会上升。我只是想问一下是否有人知道一个更好的方法,每个队伍都是“个性化的”,因为每个人都可以装备不同的装甲和武器,以及如何告诉代码装甲变量是盔甲,不能进入武器插槽和多个装甲不能进入一个插槽。我知道这个问题非常重要,但如果有人有任何输入可以帮助吨!
答案 0 :(得分:0)
您可以创建一个对象并存储所需的所有属性和方法。
var Troop1 = new Troop("Iron","Sword","Round");
Troop1.getTroopDetails(); //Prints Armour -> Iron, Weapon -> Sword, Shield -> Round
var Troop2 = new Troop("Bombsuit","Lance","Square");
Troop2.getTroopDetails(); //Prints Armour -> Bombsuit, Weapon -> Lance, Shield -> Square
var TroopList = [];
TroopList.push(Troop1);
TroopList.push(Troop2);
console.log(TroopList);
根据需要创建新的Troop对象并将其保存在数组中:
<button type="button" onClick="TroopManager.addTroop('Iron','Sword','Round')">Add Troop</button>
更新: 在HTML中,将以下代码添加到按钮中。我将硬编码值传递给addTroop函数,您可以传递用户输入的值:
var TroopManager = {
myTroopArray : [],
addTroop : function(armor, weapon, shield) {
var Troop1 = new Troop(armor, weapon, shield);
this.myTroopArray.push(Troop1);
console.log("A new Troop has been added.")
this.printTroops();
},
printTroops : function() {
for(i=0;i<this.myTroopArray.length;i++) {
console.log(this.myTroopArray[i].getTroopDetails());
}
}
}
在JavaScript中,实现以下功能:
{{1}}