私はスキル計算機を持っていますが、これはしばらくの間問題なく機能していましたが、JavaScript の経験がない人として理解できなかった何かが常に欠けていました。
追加しようとしているのは、スキル 1 = 最大でない限りスキル 2 を増加させたくないが、スキル 2 = 5 を超えない限りスキル 3 を増加させず、スキル 2 と 3 = 最大でない限りスキル 4 を増加させたくないということです。
それは理にかなっていますか?私はここで少し混乱しています。正しい方向への助けやポイントは素晴らしいでしょう、みんなに感謝します.
私のスキル計算機:
<script type="text/javascript">
var SkillManager = (function() {
var max = 50,
skills = {
skill1: {
cur: 0,
max: 10
},
skill2: {
cur: 0,
max: 10
},
skill3: {
cur: 0,
max: 10
},
skill4: {
cur: 0,
max: 10
}
},
totalUsed = 0;
var increase = function(skill) {
if (totalUsed < max && skills[skill].cur < skills[skill].max) {
skills[skill].cur++;
totalUsed++;
updateDisplay(skill, skills[skill].cur, max - totalUsed);
} else if(skills[skill].cur === skills[skill].max) {
alert("You have maxed out that skill!");
} else {
alert("You have used all your skill points!");
}
};
var decrease = function(skill) {
if (skills[skill].cur > 0) {
skills[skill].cur--;
totalUsed--;
updateDisplay(skill, skills[skill].cur, max - totalUsed);
} else {
alert("You can't decrease a skill with 0 points in it!");
}
};
var updateDisplay = function(skill, value, totalRemaining) {
if(document.all){
document.getElementById(skill + "counter").innerText = value;
document.getElementById("remainingPoints").innerText = totalRemaining;
} else {
document.getElementById(skill + "counter").textContent = value;
document.getElementById("remainingPoints").textContent = totalRemaining;
}
};
return {
decrease: decrease,
increase: increase
};
}());
</script>