RPG2K 데미지의 난수처리(난수 사이의 난수)
2007.01.15 06:05
음.. 처음으로 제 머리속의 생각 하나를 공개하겠습니다.
데미지의 난수.. 참으로 복잡한 존잽니다 =ㅅ=;
예를들어 1475~13579인식으로 하나로 적용되는 난수이면 데미지 처리가 용이한데
a*e+b~c*f+d같은식이면 난수처리가 난감하죠.
그런것을 간단하게(제생각으로는)해결할 방법을 생각해낸게 1년전 입니다.
변수1(이하 a)~변수 2(이하 b)까지의 난수라면
(b>a라고가정)
b-a(또는 |a-b|도 가능)=변수3(이하 c)로 하는겁니다.
그리고 조금의 노가다가 필요하지만.. 변수4(이하 d)=1로 지정합니다.
또 d*2=d로 설정하고
조건분기(d≥c)로
-> 예라면 난수 0~d=변수5(이하 e)로 지정한 후
조건분기 (e≤c)로
-> 예라면 a+e=최종데미지
-> 아니요 라면 1~d=e 다시한번, 반복
->아니요라면 d*2=d로 설정하고 위의과정 반복.
d*2대신 d*3으로 해주셔도 됩니다.
d*2로 한 이유는 어차피 |a-b|는 커봤자 1000정도 내외일테니 그정도면 10번만 해주시면 되고
그렇게 하면 e≤c일확률이 1/2보다 크니 랙을 감소시킬수 있다고 생각해서입니다.
생각에서 글로 꺼내는걸 별로 생각안하고 올려서 조금 틀린부분이 있을지도 모르나 그건 알아서 고쳐주세요(후덜덜)
그리고 귀찮아서 파일을 안만들었네요 후덜덜더러
실험해 보세요 (..)
댓글 7
-
새벽도둑
2007.01.15 06:54
-
『덩키동크』
2007.01.15 21:41
전 도저히 이해가 안되네요 -_-;; 머리가 딸리는건가..;; 알고리즘 이전에 목표부터 이해가 안되는;;|+rp2+|2788|+rp3+|bibup -
FirstMoon
2007.01.16 03:08
덩키동크// 임의의 최소/최대데미지 사이의 값 하나를 난수로 지정해서 구하는것.
새벽도둑//변수를 여러개 만든다는 소리가이해가 안되는데.. 이 방법의 좋은점은 각 수가 나올 확률이 같다는겁니다. 그리고 랙이 거의 일어나지 않는다는거죠.. 변수를 여러개 만드는것에 대해 좀 정확하게 설명해주시면 대답을 제대로 해드리겠습니다만..|+rp2+|2789|+rp3+|bibup -
Spegel
2007.01.22 10:54
차리리 변수 몇개를 더 넣어서 기초계산으로도 할수 있을 듯 한데요?|+rp2+|2802|+rp3+|bibup -
Spegel
2007.01.22 10:57
라고 생각했으나 변수에 난수 값을 지정하는데 변수가 쓰일수 없군요 -_-|+rp2+|2803|+rp3+|bibup -
[S's-S]
2007.01.22 19:32
난수 (1~A+1)-1 을 설정한후 그 값에 데미지의 최대값-최소값을 곱하고
다시 A으로 나눈후 데미지의 최소값을 더해주면 됩니다
단, 이 방식의 경우는 최대값이 나올 확률이 지극히 적다는게 단점입니다.
최대값을 제외한 모든값의 확률은 같죠.. 최대최소값의 차가 몇백 이상 난다면 별 문제는 없지만^^;
|+rp2+|2804|+rp3+|bibup -
[S's-S]
2007.01.22 19:37
해결하기 위해서는 처음의 난수값을
1~A+(A/최대최소차)-1 으로 설정해주는 방식이 있지만.. 위의 댓글처럼 변수를 난수로 설정할수 없으니;;
다시 처음방식대로 난수를 짜맞추는 방법뿐이지만 상당히 귀차니즘이 상승되는 작업이라
정교한 수치가 필요한 작업이 아니라면 그냥 최대값이 나오는것은 포기하고 하시는편을 추천합니다;;
아니면 A를 백만정도로 잡은후 최대값에 1을 더해서 계산하면 최대값이 나올확률은 1/100만,
그만큼 작아져서 거의 불가능한 확률이 되니 이 방법을 사용하셔도 됩니다 ㅡ0ㅡ|+rp2+|2805|+rp3+|bibup
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
511 | [도트]머그컵 틀잡기. [2] | 카타린 | 2007.01.27 | 327 |
510 | YMD_time system [6] | Spegel | 2007.01.22 | 178 |
» | 데미지의 난수처리(난수 사이의 난수) [7] | FirstMoon | 2007.01.15 | 160 |
508 | 이해하기 어려운 맵배치 강좌 - 던젼 - [8] | 에그。 | 2007.01.14 | 468 |
507 | RPG_xp업그레이드 팩키지(스크립트, 그래픽)-Final ver [20] | 星の카비 | 2007.01.13 | 827 |
506 | 이론강의 4. 시나리오 작성 - 설정 [2] | Vermond | 2007.01.12 | 189 |
505 | 초간단 작명법 | Mr. J | 2007.01.11 | 217 |
504 | Nwc 드럼 추가하는 법 [1] | C코드선생 | 2007.01.07 | 130 |
503 | 도박 시스템 [1] | 연필군 | 2007.01.06 | 183 |
502 | [RMXP] 펫 소환 강좌 [2] | 연필군 | 2007.01.06 | 244 |
501 | [RMXP] 벽 소환 이벤트를 만들자 [1] | 연필군 | 2007.01.06 | 135 |
500 | 스크립트를 이용하여 텍스트색상과 갯수를 바꿔보자 ! [3] | 준돌 | 2006.12.29 | 270 |
499 | 바람수지매클 이동리스트 작성요령 | 청연 | 2006.12.28 | 68 |
498 | 포토샵 완전 정복 !! - 1 - (채도감소) [2] | 다크세이버™ | 2006.12.20 | 144 |
497 | 주인공 이름이 마땅한게 없다면~ [15] | 네모상자 | 2006.12.12 | 775 |
496 | 각툴의 팔렛트비교 [3] | 카타린 | 2006.12.11 | 468 |
495 | [도트] 포션그리기 [7] | 카타린 | 2006.12.10 | 668 |
494 | [첫강좌] 양털을 깎아봅세~! [4] | 땅콩아줌마 | 2006.12.09 | 364 |
493 | 이론강의 3. 제작에 앞서 해야 될 것들 [1] | Vermond | 2006.12.08 | 154 |
492 | 이론강의 2.Vnap으로 제작가능한 장르 [2] | Vermond | 2006.12.05 | 358 |
그런데 변수를 여러게 만드는 것보다 이 방법이 더 복잡한듯...|+rp2+|2786|+rp3+|bibup