수학을 연습하고 Level
조건부 경험을 해결 XP
하면 다음을 얻습니다.
Level=1+1+8×XP÷50−−−−−−−−−−−−−√2
예를 들어, 의 플레이어 레벨은 무엇 입니까?XP=300
1+1+8×300÷50−−−−−−−−−−−−−√2=4
요청대로.
또는의 수준은 XP = 100000
무엇입니까?
1+1+8×100000÷50−−−−−−−−−−−−−−−−√2=63
보다 일반적으로 표현하면 레벨 1 임의 시작 임계 값 에 .
Level=1+1+8×threshold÷50−−−−−−−−−−−−−−−−−−√2
XP
XP에 대해 위의 공식을 해결하여 역순으로 수행하고 주어진 수준에 필요한 것을 계산할 수도 있습니다 .
XP=(Level2−Level)×threshold2
위의 수식은 분수와 함께 작동하지만 다음 정수 값으로 내림해야합니다. 예를 들어 C ++ / C #에서는 (int) Level을 사용할 수 있습니다.
위의 닫힌 형식 수식을 얻기 위해 차이 방정식, 가우스 합산 및 2 차 수식을 사용했습니다.
이 공식의 솔루션을 단계별로 관심이 있다면 ...
우리는 궁극적으로 고려 사항을 시작하여 재귀 알고리즘을 수행합니다. Experience(next_level) = Experience(current_level) + current_level*50
.
예를 들어, XPLevel3 우리가있다 :
XPLevel3=XPLevel2+2×50
어디에, 2*50
경험을 다음 수준에 도달하기 위해 필요한 것을 OP의 요청에서 비롯 현재 레벨 * 50입니다.
이제 우리는 X p L e v e l 2를 대체합니다XpLevel2 를 동일한 논리로 공식에 합니다. 그건:
대체 XPLevel2=XPLevel1+2×50위의 공식에 을 :
XpLevel3=XpLevel1+1×50+2×50
그리고 XpLevel1 은 50에 불과합니다. 이것이 우리의 출발점입니다. 금후
엑스피L의 예 V의 전자 L 3= 50 + 2 × 50 = 150
더 높은 수준을 재귀 적으로 계산하기위한 패턴과 유한 한 합의 체인을 인식 할 수 있습니다.
엑스피L e v e l N= 50 + 2 × 50 + 3 × 50 + 입니다. . . + ( N− 1 ) × 50 = ∑나는 = 0n - 1나는 × 50
여기서 N은 달성해야 할 수준입니다. 레벨 N의 XP를 얻으려면 N을 풀어야합니다.
XpLevelN÷50=∑i=0n−1i
이제 오른쪽은 단순히 1에서 N-1까지의 합산으로 유명한 가우시안 합산 으로 표현할 수 있습니다 . 금후N×(N+1)÷2−N
XpLevelN÷50=N(N+1)÷2−N
아니면 그냥
2∗(XpLevelN−50)÷50=N(N+1)−2N
마지막으로 모든 것을 한쪽에 두십시오.
0=N2−N−2×XpLevelN÷50
이것은 이제 음과 양의 솔루션을 산출하는 2 차 공식이며, 음의 레벨이 없으므로 양의 솔루션 만 관련됩니다. 이제 다음을 얻습니다.
N=1+1+4×2×XpLevelN50−−−−−−−−−−−√2
따라서 XP의 조건부 전류 레벨과 선형 임계 값은 다음과 같습니다.
Level=1+1+8×XP÷threshold−−−−−−−−−−−−−−−−−−−√2
참고이 단계를 아는 것이 훨씬 복잡한 진행 상황을 해결하는 데 유용 할 수 있습니다. RPG 영역에서는 여기에서와 같이 선형 진행 외에 실제로 더 일반적인 분수 힘 또는 제곱 관계가 표시됩니다 (예 : Level=XP√5.0XP
Level 100
이 공식은 OP의 특정 질문에 대답하는 가장 빠른 방법을 제공합니다.
편집 :이 수식은 정상적으로 작동 하며 OP의 요청에 따라 선형 임계 값 진행 으로 현재 level
조건을 올바르게 출력합니다 . (이전 공식은 플레이어가 실수 인 레벨 0에서 시작했다고 가정하여 "level + 1"을 출력했습니다. 작은 조직에 글을 써서 점심 시간에 해결했습니다! :)XP