저는 프로그래밍에 익숙하지 않아서 해결하기가 쉽다면 미리 사과드립니다.Javascript의 If 문에 걸림
필자는 기술을 향상시키기 위해 작은 JS 기반 웹 사이트를 디자인 한 다음 이전 웹 사이트를 완성한 후 다른 복잡한 웹 사이트로 이동했습니다.
저는 현재 특정 비디오 게임 (Dark Souls II에 궁금한 점이있는 경우)에서 캐릭터를 계획하는 데 도움이되는 웹 사이트에서 작업하고 있습니다. 이 웹 사이트에는 8 개의 시작 수업 중 하나를 선택할 수있는 드롭 다운 메뉴가 있습니다. 하나를 선택하면 특정 클래스의 통계를 보여주기 위해 웹 사이트가 업데이트됩니다.
각 클래스의 시작 통계를 보여주는 것 외에도 미리 캐릭터를 계획하기 위해 통계를 늘리거나 줄일 수있는 섹션이 있습니다. 이것은 내가 내 문제에 부딪히는 곳이다.
내가 사용하는 증가 함수는 정상적으로 작동하지만 stat 함수를 감소시키는 데 문제가 있습니다. 이상적으로는, 나는 그것을 stat를 감소 시키길 원하지만 그 stat의 시작점을 넘어서는 것이 아니다. 10 이하로 시작한 스탯을 10 이하로 줄이기 전까지는 잘 작동합니다.
예를 들어, Warrior 클래스는 7 Vigor로 시작됩니다. 최대 9까지 늘린 다음 다시 7로 줄이십시오. 그러나 10으로 늘린 다음 감소 단추를 시도해도 아무 것도 작동하지 않습니다. 그러나 Vigor가 10보다 큰 클래스의 경우 전혀 문제없이 늘리고 줄일 수 있습니다. 내가 사용하고있는 코드는 다음과 같습니다 :
function decreaseVigor() {
for (i = 0; i < classStats.length; i++) {
if (chosenClass == classStats[i][0]) {
if (vigor.innerHTML > startingVigor.innerHTML) {
soulLevel.innerHTML = classStats[i][1] -= 1;
vigor.innerHTML = classStats[i][2] -= 1;
}
}
}
}
두 번째 If 문 내에 문제가 있다는 것을 알고 있지만 왜 작동하지 않는지는 알 수 없습니다. Warrior 클래스의 startingVigor는 7입니다. 그렇다면 왜 Vigor를 10 이상으로 증가 시키면 감소시키지 않을까요? 이 도움이 경우
, 여기에 모든 클래스에 대한 통계는 다음과 같습니다
그들은 순서대로 이동classStats = [
["warrior", 12, 7, 6, 6, 5, 15, 11, 5, 5, 5],
["knight", 13, 12, 6, 7, 4, 11, 8, 9, 3, 6],
["swordsman", 12, 4, 8, 4, 6, 9, 16, 6, 7, 5],
["bandit", 11, 9, 7, 11, 2, 9, 14, 3, 1, 8],
["cleric", 14, 10, 3, 8, 10, 11, 5, 4, 4, 12],
["sorcerer", 11, 5, 6, 5, 12, 3, 7, 8, 14, 4],
["explorer", 10, 7, 6, 9, 7, 6, 6, 12, 5, 5],
["deprived", 1, 6, 6, 6, 6, 6, 6, 6, 6, 6]
];
: SoulLevel (또는 총 레벨), 활력, 지구력, 활력,의 조화, 힘, 민첩, 적응력, 지성, 신앙.
Knight 클래스를 선택하면 beginVigor가 12이므로 자유롭게 증가 또는 감소 할 수 있습니다. 10에서 10 이상의 숫자를 늘릴 때 왜 작동하지 않는지 알고 싶습니다.
제공 할 수있는 도움에 감사드립니다.
빠른 답장을 보내 주셔서 감사합니다. 이것은 완벽하게 작동했습니다! 괜찮 으면, 이것이 무엇을하는지 간단히 설명해 주시겠습니까? 나는 Google에 그것을 시도하고있다, 그러나 나는 진짜로 이해하고 있지 않다. 기본적으로 String을 Integer로 바꾼다는 것을 알았지 만 괄호 안에 10이 왜 있습니까? – ClaytonAlanKinder
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt – epascarello
@CaptainKick 해결책이 효과가 있다면 수용된 대답으로 표시하십시오. –