먼저 생각해보세요 !!
어떤 함수를 만들건데, 출력은 무조건 랜덤값이 나와야 한다.
어떻게 만들수 있을까요??
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
생각을 다해보셨다면 떠오르는 방법이 뭐가 있었나요?
확률알고리즘은 그때 그때 다른값이 나오게 만들어져야 됩니다.
하지만, 많은 값들이 그때그때 변하질 않아요
그래서 이용하게 된게 컴퓨터의 시간단위를 이용하게 됩니다.
ms 단위로 또는 더 작은 단위로 컴퓨터는 시간을 세는데
이때의 값은 시시때때로 바뀌죠
예측할수도 없습니다. 정확한 값에 스톱워치 중지하기도 힘드니까요
이 시간단위를 이용해서 수식을 만들면 랜덤값이 뽑히는 알고리즘이 탄생합니다.
예를 들어 0~1000이 랜덤 값이면
그냥 ms( 1 / 1000 초 ) 를 반환함으로 0~1000 랜덤 값을 뽑을수도 있습니다.
숫자값이 변화한다면 여러 방식으로 알고리즘을 작성할수도 있고요
랜덤값으로 나오는 숫자로 확률을 만들기 때문에
예) 0~999의 숫자중 0~99이 나올 확률은 10%기 때문에
확률이 10퍼인경우 0~99의 값이 나온경우를 이용할 수 있습니다.
결국 운은 서버시간에 의해 결정됩니다.
그러나 이처럼 간단한 수식은 아니죠 알고리즘에따라 예측은 어려울겁니다.
게임에서 운은 타이밍이라는 말이 맞는 말이였습니다 ㅋㅋㅋ
하지만 서버알고리즘 분석은 불가하기 때문에 운은 운으로 즐겨주세요 ㅋㅋ
'프로그래밍' 카테고리의 다른 글
코딩시 많이 하는 최적화 실수 (4) | 2020.10.05 |
---|
저작권 보호안내
무단 전재, 재배포 행위는 금지됩니다. (글을 복사하여 게시금지)
본문의 일부(링크용 문장) 인용은 가능하지만, 출처와 링크(a 태그)를 남기셔야 됩니다.
(웹툴을 이용하고, 스크린샷/녹화하는것은 상관없습니다.)
예외적으로. 저에게 허락받은 경우에는 본문을 전재할 수 있습니다.
만약, 본문 공유를 원하신다면 링크 공유를 해주세요
저작권 정책 확인하기링크 공유하기