D & D 캐릭터를 레벨 업할 때해야 할 모든 것을 기억하는 데 어려움이 있습니다. 어떤 이유에서든 문제가되는 것 중 하나는 새로운 최대 HP 가치가 무엇인지 파악하는 것입니다. 이 문제를 해결하려면 올바른 값을 자동으로 계산하는 프로그램이나 함수를 작성하십시오.
술어
최대 HP를 계산하기 위해 알아야 할 첫 번째 사항은 "구성 수정 자"입니다. 각 DND 문자에는 헌법에 대한 점수를 포함하여 6 개의 정수 능력 점수가 있습니다. 이 도전에 필요한 유일한 지식은 헌법 능력 점수가 헌법 수정자인 다른 통계에 어떻게 영향을 미치는지입니다. 간단히 말해서 수정자는와 같습니다 floor( (ability_score - 10) / 2 ). 모험가는 1에서 20까지의 능력 점수 만 가질 수 있습니다. 코드는 해당 범위 밖의 점수를 처리 할 필요가 없습니다. 즉, -5보다 작거나 +5보다 큰 수정자를 처리 할 필요가 없습니다. 체질 수정자는 캐릭터 레벨이 올라감에 따라 변경 될 수 있지만 HP에 미치는 영향은 소급 적용되므로 현재 최대 HP를 계산하려면 현재 값만 필요합니다.
(이것은 도전과 무관하지만, 만약 당신이있는 거은 최대 HP에 미치는 영향에 대한 호기심 : 그 이후로 당신은 "힘든"묘기 HP 계산의 목적을 위해 캐릭터의 헌법 수정 2를 추가 가정 할 수 효과적으로 은 무엇 그것은 위업의 텍스트는 아니지만 수학은 정확히 똑같이 작동합니다. 답에서이 위업을 다룰 필요는 없습니다.)
다음으로 모든 클래스에는 HP 계산에 관련된 "히트 다이"유형이 할당되어 있습니다. 다음 표는 각 클래스의 히트 주사위 목록입니다.
Sorcerer: d6
Wizard: d6
Bard: d8
Cleric: d8
Druid: d8
Monk: d8
Rogue: d8
Warlock: d8
Fighter: d10
Paladin: d10
Ranger: d10
Barbarian: d12
마지막으로 캐릭터의 레벨. 이것이 영향을 미치는 것은 다음 섹션에서 누적 합계에 값을 추가하는 횟수입니다. 캐릭터의 레벨이 1부터 20까지의 정수입니다 (포함) 1 . 코드는 해당 범위 밖의 레벨을 처리 할 필요가 없습니다. 레벨 n에 도달하기 위해 캐릭터는 레벨 1에서 시작하여 레벨 업 n-1시간입니다. 예를 들어, 레벨 3 캐릭터는 레벨 1 캐릭터가되고 레벨을 두 번 올리면 원래 위치에 도달합니다.
최대 HP를 계산하는 방법
캐릭터의 최대 HP는 레벨 1의 HP와 각 레벨에서받은 증가량의 합에 더해집니다.
레벨 1에서
레벨 1에서 캐릭터의 HP는 히트 다이에서 가능한 가장 높은 롤 (다이 이름이 6면 이상인 주사위에 익숙하지 않은 사람들을위한 숫자)과 체질 수정자를 합한 것과 같습니다. 이후 레벨에서 HP를 계산할 때 헌법이 변경 될 때마다 계산의이 부분이 다시 수행되므로 캐릭터의 헌법이 항상 동일하다고 가정 할 수 있습니다.
레벨 업할 때
캐릭터가 레벨을 올릴 때마다 두 가지 옵션이 있습니다. 적중 한 주사위 중 하나를 굴 리거나 그 주사위의 평균 굴림 (반올림)을 할 수 있습니다. 어느 쪽을 선택하든 구성 수정자가 결과에 추가됩니다. 이 합계는 HP가 증가하는 금액입니다. 이 문제의 경우 평균 롤이 항상 취해 지므로 출력이 결정적입니다. (6면이 넘는 주사위에 익숙하지 않은 경우 반올림 평균 롤을로 계산할 수 있습니다 (highest_possible_roll / 2) + 1.)
한 가지 눈에 띄는 예외가 있습니다. 캐릭터의 최대 HP는 항상 적어도 1가 레벨 업을 할 때마다 증가 2 . 위 단락의 지침으로 레벨을 올릴 때 0 이하로 증가하면 대신 1 씩 증가합니다.
도전
프로그램이나 기능은 세 가지 입력 을받습니다 :
- 캐릭터 클래스, 캐릭터 라인
- 캐릭터의 레벨
- 캐릭터의 헌법 능력 점수 ( 하지 수정)
그것은 것이다 출력 단 한 가지를 : 캐릭터의 현재 최대 HP.
예
이 링크에서 가능한 모든 입력 및 관련 출력 조합을 찾을 수 있습니다. 이 페이지에서 살펴볼 내용을 위해 30 가지 테스트 사례를 무작위로 선택했습니다.
Barbarian, 15th level, 13 CON: 125
Rogue, 10th level, 18 CON: 93
Wizard, 15th level, 18 CON: 122
Wizard, 16th level, 1 CON: 16
Barbarian, 15th level, 7 CON: 80
Warlock, 15th level, 3 CON: 18
Ranger, 14th level, 1 CON: 18
Warlock, 3rd level, 14 CON: 24
Druid, 3rd level, 4 CON: 9
Cleric, 11th level, 5 CON: 25
Bard, 20th level, 11 CON: 103
Barbarian, 11th level, 13 CON: 93
Bard, 8th level, 19 CON: 75
Bard, 16th level, 17 CON: 131
Fighter, 10th level, 6 CON: 44
Monk, 10th level, 2 CON: 13
Cleric, 14th level, 17 CON: 115
Cleric, 6th level, 5 CON: 15
Rogue, 7th level, 13 CON: 45
Cleric, 4th level, 14 CON: 31
Rogue, 19th level, 15 CON: 136
Paladin, 13th level, 13 CON: 95
Cleric, 13th level, 15 CON: 94
Bard, 8th level, 5 CON: 19
Monk, 20th level, 11 CON: 103
Barbarian, 8th level, 20 CON: 101
Monk, 1st level, 4 CON: 5
Bard, 5th level, 17 CON: 43
Monk, 18th level, 7 CON: 57
Wizard, 17th level, 5 CON: 19
1. 엄밀히 말하면, 20이 최대 수준이라고 말하는 규칙은 없다고 생각합니다. 그러나 21은 책에 테이블이 없어서 규칙에 도달하기 위해 필요한 경험의 양을 포함하여 규칙의 다양한 숫자 중 일부를 알려줍니다. 그것은 저에게 충분한 레벨 캡입니다.
2. 실제로 이것이 RAW에서는 사실이라고 생각하지 않습니다. 나는 rpg.se에 물었고 그런 것은 어디에도 쓰여 있지 않은 것으로 보입니다. 그러나 D & D의 수석 설계자 인 Mike Mearls는 2015 년 3 월에 트윗했습니다 . 이것은 제레미 크로포드 (Jeremy Crawford)의 리드 룰 (Lead Rule) 개발자로부터 트윗을 주장 할 수있는 권위있는 방법은 아니지만 이것이 의도 한 증거이므로이 도전에 사용할 것입니다.