사다리타기 — 최대 30명 온라인 사다리 게임
최대 30명, 시드 공유 링크와 결과 이미지 저장을 지원하는 사다리타기
브라우저에서 처리 · 서버로 전송되지 않음
2명부터 최대 30명까지 넣을 수 있어요.
참가자 수만큼 적어요. 비워 두면 "1번 칸"처럼 번호가 붙어요.
소개
사다리타기는 점심 내기, 청소 당번, 순서 정하기, 선물 뽑기처럼 “누가 어디에 걸릴지” 정할 때 쓰는 대표적인 추첨 놀이예요. 이 도구는 참가자를 최대 30명까지 넣을 수 있고, 아래 칸에 꽝·당첨·메뉴·벌칙 같은 결과를 직접 적을 수 있어요. 사다리를 만든 뒤에는 이름을 눌러 한 명씩 경로가 그려지는 모습을 보거나, 한 번에 전체 결과를 열어 볼 수 있어요. 결과 칸을 가려 둔 채로 시작하면 도착할 때까지 무엇이 걸렸는지 모르니 더 긴장감이 있어요. 모든 계산은 브라우저 안에서 이루어지고 서버로 보내지 않아요.
사용법
- 왼쪽 칸에 참가자 이름을 한 줄에 한 명씩 적거나 쉼표로 구분해 넣습니다. 2명부터 30명까지 가능해요.
- 오른쪽 칸에 결과를 적습니다. 비워 두면 “1번 칸”, “2번 칸”처럼 번호가 붙어요. “꽝 1개” 또는 “당첨 1개” 버튼을 누르면 한 칸만 특별하게 채워 줘요.
- “사다리 만들기”를 누르면 가로선이 무작위로 생겨요.
- 이름 버튼을 눌러 한 명씩 확인하거나 “전체 결과 보기”를 누릅니다. 애니메이션이 싫거나 움직임을 줄이는 설정을 쓰고 있으면 곧바로 결과가 나와요.
- “결과 이미지 저장 (PNG)“으로 전체 결과를 사진으로 보관하거나 “공유 링크 만들기”로 같은 사다리를 친구에게 보냅니다.
기준
- 사다리 모양: 가로선은 줄마다 이웃한 두 세로줄 사이에 놓이고, 한 줄에서 서로 맞닿는 가로선은 만들지 않아요. 그래서 경로가 한 번에 두 칸씩 건너뛰거나 갈라지는 일이 없어요. 줄 수는 가로선을 무작위로 놓는 줄(인원의 2배, 최소 8줄·최대 40줄)에 아래쪽의 맞춤 줄을 인원 수만큼 더한 값이에요. 그래서 2명이면 10줄, 10명이면 30줄, 30명이면 70줄이에요.
- 결과를 먼저 뽑는 방식: 누가 어느 칸에 닿을지는 사다리를 그리기 전에 모든 순서가 똑같은 확률로 나오도록 먼저 뽑아요(피셔-예이츠 섞기). 위쪽의 무작위 가로선을 지난 뒤, 아래쪽 맞춤 줄의 가로선이 각자를 그 칸으로 데려가요. 가로선이 얼마나 잘 섞였는지와 상관없이 모든 결과가 같은 확률이 되게 하기 위한 방법이에요.
- 일대일 대응: 사다리를 타면 모든 출발점이 서로 다른 도착점에 닿아요. 두 사람이 같은 칸에 도착하거나 빈 칸이 생기지 않는다는 뜻이에요. 이 성질은 코드의 테스트로 계속 확인해요.
- 연결 보장: 이웃한 두 세로줄이 한 번도 연결되지 않으면 서로 바뀔 수 없으므로, 그런 경우에는 가로선을 하나 더해 줘요.
- 난수와 시드: 새 사다리는
crypto.getRandomValues로 만든 8자 시드에서 생기고, 같은 시드는 언제나 같은 가로선을 만들어요.Math.random은 쓰지 않아요. - 결과 가리기: 켜 두면 도착 칸의 결과가 물음표로 보이다가, 그 칸에 도착한 사람의 경로가 끝나면 공개돼요.
예시
| 상황 | 참가자 | 결과 칸 |
|---|---|---|
| 커피 내기 | 민수, 지영, 철수, 하나 | 꽝, 통과, 통과, 통과 |
| 점심 메뉴 | 5명 | 김치찌개, 돈가스, 비빔밥, 쌀국수, 마라탕 |
| 청소 당번 | 6명 | 칠판, 쓰레기통, 창문, 바닥, 면제, 면제 |
| 경품 추첨 | 12명 | 당첨 1칸, 나머지는 꽝 |
자주 묻는 질문
몇 명까지 할 수 있나요?
최대 30명이에요. 참가자를 한 줄에 한 명씩 적거나 쉼표로 구분해 넣으면 되고, 2명부터 시작할 수 있어요. 인원이 많으면 사다리 그림이 가로로 길어지니 화면을 옆으로 밀어서 볼 수 있어요.
결과가 공정한가요? 누구에게 유리한 자리가 있나요?
가로선은 브라우저의 암호용 난수로 만든 시드에서 생기고, 모든 출발점은 서로 다른 도착점으로 이어져요. 도착 결과는 사다리를 그리기 전에 모든 경우가 똑같은 확률로 나오도록 먼저 뽑고, 사다리는 그 결과대로 이어지게 그려요. 그래서 특정 출발 자리가 유리하지 않아요. 다만 한 번 만들어진 사다리에서는 어느 자리가 어디에 닿는지 이미 정해져 있어요. 결과가 마음에 걸리면 "사다리 다시 만들기"로 새로 만들 수 있고, 참가자가 모인 자리에서 정하는 걸 권해요.
공유 링크로 같은 결과를 다시 볼 수 있나요?
네. "공유 링크 만들기"를 누르면 시드, 참가자 이름, 결과 칸이 주소의 # 뒤에 담겨요. 그 링크를 열면 가로선이 똑같이 만들어져서 같은 도착 결과가 나와요. 링크의 # 뒤 내용은 서버로 전송되지 않아요. 다만 링크를 받은 사람에게는 이름이 보이니 개인정보라면 공유하지 마세요. 버튼을 누르기 전에는 주소에 아무것도 붙지 않아요.
결과 이미지는 어떻게 저장하나요?
결과 이미지 저장 (PNG) 버튼을 누르면 모든 참가자의 경로를 색으로 그리고 아래에 이름과 결과 목록을 적은 PNG 파일이 내려받아져요. 이미지는 브라우저 안에서만 만들어지고 서버로 올라가지 않아요.
같은 이름이 있어도 되나요?
괜찮아요. 이름이 같아도 줄마다 따로 취급하고 색도 다르게 칠해요. 다만 결과를 말로 전할 때 헷갈리지 않도록 "민수1", "민수2"처럼 구분해 두는 편이 좋아요.