1. Fisher-Yates 셔플 알고리즘
오렌지 쿠지는 카드 배열을 무작위로 섞기 위해 수학적으로 검증된 Fisher-Yates 셔플 알고리즘을 사용합니다. 이 알고리즘은 유한한 수열의 무작위 순열을 생성하기 위한 최적의 방법으로 알려져 있으며, 모든 가능한 순열이 나타날 확률이 동일함을 보장합니다.
for i from n-1 down to 1 do
j = random integer such that 0 <= j <= i
exchange a[j] and a[i]
단순한 랜덤 함수를 사용할 때 발생할 수 있는 '편향된 패턴'을 원천적으로 차단하여, 주최자나 특정 참여자에게 유리한 결과가 나오지 않도록 설계되었습니다.
2. 클라이언트 사이드 프로세싱
많은 온라인 추첨 도구들이 서버에서 결과를 결정하고 내려주는 방식을 취하지만, 오렌지 쿠지는 모든 추첨 로직이 사용자의 브라우저 내(Client-side)에서 직접 실행됩니다.
- 데이터 조작 불가능: 서버 통신 과정에서의 데이터 변조 위험이 없습니다.
- 투명한 코드: 숙련된 사용자는 브라우저 콘솔을 통해 현재 실행 중인 로직의 투명성을 확인할 수 있습니다.
- 즉각적인 피드백: 지연 시간 없이 즉시 결과가 결정되므로 긴장감을 해치지 않습니다.
3. 실시간 현황판의 역할
공정성은 단순히 '운'에만 맡기는 것이 아니라, 참여자에게 정보를 투명하게 공개하는 것에서 시작됩니다. 오렌지 쿠지는 등급별 남은 수량과 전체 소진율을 실시간 바 그래프로 시각화하여 제공합니다. 이를 통해 모든 참여자는 현재 자신의 당첨 확률을 정확히 인지한 상태에서 공정하게 게임에 참여할 수 있습니다.