돌림판 돌리기
휠이 돌기 전에 브라우저의 crypto.getRandomValues로 당첨자를 먼저 정하므로 모든 칸의 확률이 같습니다. 약 4초 동안 도는 회전은 결과를 보여 줄 뿐입니다.
사용 방법
- 입력칸에 한 줄에 하나씩 항목을 적습니다. 빈 줄은 무시합니다.
- 돌리기를 누르면 돌림판이 4초쯤 돌다가 당첨 항목에서 멈춥니다.
- 당첨 항목 목록에서 빼기를 누르면 그 항목이 지워지고, 바로 다음 추첨을 할 수 있습니다.
계산 방법
당첨 항목은 돌림판이 움직이기 전에 브라우저의 암호용 난수 생성기(crypto.getRandomValues)로 정해집니다. 모든 칸의 당첨 확률은 같습니다.
그다음 애니메이션이 뽑힌 칸 안에서 멈출 각도를 계산하고, 몇 바퀴를 더한 뒤 부드럽게 속도를 줄입니다. 애니메이션은 결과를 보여 줄 뿐, 결과를 정하지 않습니다.
같은 항목을 두 번 적으면 칸도 두 개가 되어 당첨 확률이 두 배가 됩니다.
돌림판 활용 예
- 게임이나 회의에서 누가 먼저 할지 정하기.
- 이벤트 응모자 중에서 당첨자 뽑기.
- 의견이 갈릴 때 어디서 먹을지, 뭘 만들지 정하기.
- 수업 시간에 편애 없이 발표할 학생 고르기.
자주 묻는 질문
정말 무작위인가요?
네. 추첨에는 crypto.getRandomValues 를 씁니다. 브라우저가 보안 기능에 쓰는 것과 같은 난수원이고, 모든 칸의 확률이 같습니다.
특정 항목의 당첨 확률을 높이려면?
그 항목을 여러 줄에 적으세요. 한 줄이 한 칸이 되므로 세 번 적은 항목은 확률이 세 배입니다.
항목은 몇 개까지 넣을 수 있나요?
100개까지입니다. 넘치는 줄은 돌림판에 올라가지 않고, 안내 문구가 나옵니다.
입력한 내용이 저장되거나 전송되나요?
아니요. 목록은 브라우저의 이 페이지에만 있고, 창을 닫거나 새로고침하면 사라집니다.