트럼프 카드 드로어
잘 섞인 52장 덱(조커 선택)에서 N장 뽑기. 덱 추적 — 같은 카드 두 번 안 나옴.
뽑기 버튼을 눌러 카드를 딜링.
셔플은 crypto.getRandomValues + Fisher-Yates. 뽑힌 카드는 리셋·재셔플 전까지 덱에서 빠짐.
사용법
- 뽑을 카드 수·조커 포함 여부 설정.
- "뽑기"는 현재 덱에서 그 수만큼; "재셔플 후 뽑기"는 새 덱 먼저 셔플.
- "리셋"은 카드 뽑지 않고 새 덱만 셔플.
자세한 설명
펼치기접기
새 카드 한 벌(조커는 선택)을 만들어 섞고 위에서부터 나눠 줍니다. 뽑힌 카드는 뽑힌 상태로 남고 남은 장수 카운터가 줄어들기 때문에, 중복 없이 바닥까지 계속 돌릴 수 있습니다. 이 점이 카드 한 벌과 무작위 카드 생성기를 가르는 차이이고, 카드 게임이나 확률 수업, 그리고 카드가 빠져나갈수록 확률이 달라져야 하는 모든 뽑기에 쓸 수 있게 해 주는 조건입니다.
셔플은 배열 끝에서부터 내려오면서 각 위치를 자기 이하의 무작위 인덱스와 맞바꾸는 피셔-예이츠 방식입니다. 알고리즘의 전부가 바로 이 세부에 있습니다. 매 단계마다 배열 전체에서 고르는 판본은 겉보기에 똑같고 속도도 같지만, 측정 가능한 만큼 치우친 분포를 만듭니다. 편향된 셔플도 섞인 것처럼 보이기 때문에 실제 제품 코드에서 몇 년씩 살아남곤 하는 고전적인 버그입니다.
난수는 Math.random이 아니라 crypto.getRandomValues에서 가져오는데, 이유는 산수입니다. 한 벌의 배열 순서는 52!가지, 대략 8 × 10^67로 68자리 숫자입니다. 128비트 상태로 초기화된 생성기가 도달할 수 있는 경우의 수는 많아야 2^128, 약 3 × 10^38뿐입니다. 아무리 오래 섞어도 가능한 덱의 99.999…% 이상에는 결코 닿지 못한다는 뜻입니다. 매 교환마다 운영체제에서 새 엔트로피를 받아 오면 그 천장이 사라집니다. 남는 결함은 32비트 값을 52갈래 선택으로 접을 때 생기는 나머지 편향뿐인데, 일부 위치를 8천만분의 1 정도 더 자주 고르게 만듭니다. 실재하지만, 평생 카드를 돌려도 감지할 수 없는 크기입니다.
이 도구가 할 수 없는 일은 화면을 볼 수 있는 사람이 있는 게임에서 공정한 셔플을 보장하는 것입니다. 덱은 탭 안에 살아 있으므로 그 페이지를 열어 둔 사람은 전체 순서를 메모리에 가지고 있습니다. 서로 믿는 사람들끼리 편하게 쓰라고 만든 것이지 카드룸용이 아닙니다. 그리고 다시 섞기는 정말로 새 덱입니다. 버린 카드가 나간 순서 그대로 돌아오지 않으므로 컷의 대용이 되지 않습니다.
자주 묻는 질문
셔플이 진짜 랜덤?
각 스왑이 crypto.getRandomValues 사용 — 현대 브라우저의 CSPRNG. Fisher-Yates 패스가 모든 위치 한 번씩 → 모든 덱 순열 동일 확률.
슈트 안 카드 순서?
A, 2, 3, …, 10, J, Q, K — 에이스는 1(낮음)로 취급. 포커 랭킹의 에이스-하이 로직 필요하면, A와 K가 양 끝에 있다고 기억.
뽑은 카드에 같은 숫자와 연속된 숫자가 섞여 나온다. 섞기가 고장 난 건가?
아니다. 공정한 섞기는 원래 그렇게 보인다. 균일한 무작위는 직관이 기대하는 것보다 훨씬 자주 뭉침을 만든다. 52장 덱에서 같은 랭크 두 장이 가까이 나오거나 세 장이 이어지는 것은 평범한 일이다. 오히려 그런 일이 전혀 없는 섞기가 수상하다. 사람이 손으로 지어내는 순서는 알아볼 수 있을 만큼 지나치게 고르기 때문이다.
페이지를 새로 고치면 덱이 초기화되나?
그렇다. 페이지가 열릴 때마다 새 덱을 만들어 섞고, 뽑은 카드 기록은 열려 있는 페이지 안에만 존재한다. 딜 도중에 새로 고치면 새 덱이 시작되므로 이미 뽑았던 카드가 다시 나올 수 있다. 그게 중요한 상황이라면 딜을 끝내고 나서 새로 고쳐라.
관련 도구
랜덤 이모지 추천
10개 카테고리(웃음·사람·동물·음식·활동·여행·사물·기호·자연·날씨)에서 이모지 무작위 추출. 1-200개, 구분자 선택 가능.
랜덤
랜덤 숫자 생성기
암호학적 난수로 원하는 범위의 숫자를 뽑아 줍니다 — 중복 허용/금지, 정렬 옵션 포함.
랜덤
랜덤 뽑기 — 룰렛 & 사다리
룰렛을 돌리거나 사다리타기로 공정하게 뽑으세요. 사다리는 누구에게나 모든 결과가 같은 확률로 나오도록 그려지고, 이름을 누르면 결과가 하나씩 공개됩니다.
랜덤
추첨기
이름 목록에서 N명을 뽑으세요 — 암호학적 난수로 공정하게, 중복 허용 선택 가능.
랜덤
랜덤 날짜 추첨
두 날짜 사이 N개의 무작위 날짜 — Unique·정렬·평일만 옵션.
랜덤
랜덤 분포 생성기
균등·정규·지수·푸아송·베르누이·삼각 분포에서 표본을 생성합니다. 히스토그램, 통계 요약, CSV/JSON 내보내기 제공. crypto.getRandomValues 기반.
랜덤