안녕하세요 저는 게임에 대한 기본 계산기를하고 있지만 문제가 발생했습니다.이 프로그래밍 언어를 배우기 시작하면서 발견 한 모든 자습서를 읽었으며 지금은 코드를 만들고 경험을 쌓고 있습니다. 그래서 PHP에서 작성된 계산 코드를 작성하기 전에 PHP가 완벽하게 작동하지만 다른 기술을 사용하고 있었기 때문에 자바 스크립트에서 계산 버튼을 눌러 함수를 작성하는 함수를 작성했습니다. 내가 그녀의 장소에서 모든 데이터를 저장하고 난 체를 한 단계가 끝날 때마다 속도 속성에 의해 짧은 모든 사람에게 짧은 기능을 사용하려면 몇 루프를 사용자바 스크립트 기본 계산은 항상 NaN을 얻습니다.
function count(){
function ninjas (name,dmg,dmgrate,dmggrow,speed,fury) {
this.name = name;
this.dmg = dmg;
this.dmgrate = dmgrate;
this.dmggrow = dmggrow;
this.speed = speed;
this.fury = fury;
}
var name = [];
var dmg = [];
var dmgrate = [];
var dmggrow = [];
var speed = [];
var fury = [];
var ninja = [];
for(var i = 0; i <5; i++){
name[name.length] = document.getElementById("ninja" + (i +1)).value;
dmg[dmg.length] = document.getElementById("dmg" + (i +1)).value;
dmgrate[dmgrate.length] = document.getElementById("dmgrate" + (i +1)).value;
dmggrow[dmggrow.length] = document.getElementById("dmggrow" + (i +1)).value;
speed[speed.length] = document.getElementById("speed" + (i +1)).value;
fury[fury.length] = 50;
ninja[i] = new ninjas(name[i],dmg[i],dmgrate[i],dmggrow[i],speed[i],fury[i]);
}
ninja.sort(function(a, b){return b.speed - a.speed});
var totaldmg;
var damagerate;
var damagegrow;
var furydmg;
for(var a = 0; a < 6; a++){ // 6 fight
for(var b = 0; b < 5; b++){ // 5 ninjas
if(ninja[b].name == "Kabuto"){
if(ninja[b].fury == 100){
damagerate = ninja[b].dmg/100 * ninja[b].dmgrate;
damagegrow = damagerate/100 * ninja[b].dmggrow;
furydmg = damagegrow + (damagegrow/100) * ((ninja[b].fury - 100)/0.25);
totaldmg += furydmg;
for(var c = 0; c < 5; c++){ // add fury each ninja by 25
ninja[c].fury +=25;
}
ninja[b].fury -= 25;
ninja[b].fury +=100;
}else if(ninja[b].fury > 100){
damagerate = ninja[b].dmg/100 * ninja[b].dmgrate;
damagegrow = damagerate/100 * ninja[b].dmggrow;
totaldmg += damagegrow;
for(var c = 0; c < 5; c++){// add fury each ninja by 25
ninja[c].fury +=25;
}
ninja[b].fury -= 25;
ninja[b].fury +=100;
}else {
damagerate = ninja[b].dmg/100 * ninja[b].dmgrate;
totaldmg += damagerate;
ninja[b].fury += 50;
}
} else {
if(ninja[b].fury == 100){
damagerate = ninja[b].dmg/100 * ninja[b].dmgrate;
damagegrow = damagerate/100 * ninja[b].dmggrow;
totaldmg += damagegrow;
ninja[b].fury = 0;
}else if(ninja[b].fury > 100){
damagerate = ninja[b].dmg/100 * ninja[b].dmgrate;
damagegrow = damagerate/100 * ninja[b].dmggrow;
furydmg = damagegrow + (damagegrow/100) * ((ninja[b].fury - 100)/0.25);
totaldmg += furydmg;
ninja[b].fury = 0;
}else {
damagerate = ninja[b].dmg/100 * ninja[b].dmgrate;
totaldmg += damagerate;
ninja[b].fury += 50;
}
}
}
}
document.getElementById("result").innerHTML = totaldmg;
};
: 5 플레이어의 모든 데이터를 살펴 저장하는 객체 ck 모든 것이 괜찮 으면 끝내 어떻게 든 나도 여전히 NaN 결과를 얻었습니다. 누군가이 문제를 해결하는 데 도움이 될 수 있습니다. 코드를 여러 번 확인했지만 실수가 어디에서 있었는지 찾을 수있었습니다. 자바 스크립트에 대해 모르는 뭔가가있을 수 있습니다.
문제를 [mcve]로 압축하면 도움이 될뿐 아니라 문제가 어디에서 발생했는지 이해할 수 있습니다. – BeyelerStudios
문자열에 수학을 수행 중입니다. –
[JavaScript에 오신 것을 환영합니다] (https://www.destroyallsoftware.com/talks/wat) – Nixon