>줄이다 보니 괜스레 어려운(?) 제목이 되었군요 ㄱ-;;
>
> 예를들어요, '레벨업시 HP, MP, 마력, 완력을 '난수 1~3'만큼 올림'
>
> 이런다면- 완전히 운이잖아요. 누군 고생해서 레벨 20까지 키웠더니 다른사람이 스토리 진행모드로만 빨리 가서 15까지 올린 사람보다 능력치가 낮다던가...
>
> 그런 어이없는 일이 생기지 않기 위해서 -
>
>HP, MP가 난수로 오르대- 그 난수 둘을 합하면 무조건 정수 '5'가 나온다... 이런 식으로 하는 방법은 없나요??
일단 물어본 말만으로 대답을 한다면 방법은 있습니다.
몇가지 방법이 있지만 2가지만 예를 들어보죠..
두 가지 난수를 정하기 전에 라벨을 하나 추가해놓고
두가지 변수에 난수를 적용합니다. 그리고
둘을 합하면 무저껀 5가 된다고 하면 다른 변수를 하나 더 선언해서 거기에 둘을 더해주는거죠...
그리고 그수가 5인가 아닌가를 조건분기로 판단하고 5가 아니라면 라벨이 선언되었던 곳으로
이동하게 하면 됩니다.
그러나 이방법을 사용한다면 경우에 따라서...( 계속 난수가 1,1이거나 그런식으로 5가 되지 않았을때)
조금의 느려짐 현상이 발생할것 같습니다. ( 결론은 안해봐서 잘 모르지만 그렇지 않을까 예상이라는 어디까지나...)
다른 한가지 방법은 가능한 가짓수를 생각하고 그 것을 난수로 돌리면 됩니다.
예를들어 hp가 1~3으로 난수를 돌리고 mp가 1~3 난수를 돌린다. 그런데 그 두 합은 5이다.
그렇다면 hp 2 mp 3
hp 3 mp 2
일때 이렇게 두가지 경우 밖에는 식이 성립이 되지 않습니다.
그러면 난수를 돌려서 0이 나오면 hp = 2 mp = 3 추가 또 1이나오면 hp = 3 mp = 2 추가
이런 식으로 하면 됩니다.
만약 이것과 달리 hp가 1~3 올라가고 mp가 1~3 완력이 1~3 ... 그 경우 합이 7이라고 하면
hp 1 mp 3 완력 3
hp 2 mp 2 완력 3
hp 2 mp 3 완력 2
hp 3 mp 1 완력 3
hp 3 mp 2 완력 2
hp 3 mp 3 완력 1
이런식으로 고등학교때인가 중학교때인가 (초등학교때일수도...)
배우게 되는 경우의 수를 이용하여서 하는 방법이 있습니다.
위와 같은 경우에는.. 난수 6가지를 돌려서 6경우에 각각 적당량을 집어 넣어야겠죠???