바카라 확률·통계 엔진 + 가족용 무료 시뮬레이터 (play.crowny.org)
개요
가족이 함께 즐기는
무료 바카라(연습용 칩·환전 없음·실제 도박 아님)와,
게임의
진짜 확률·하우스 엣지를 측정·폭로하는 통계 엔진을 구축했다.
play.crowny.org(crowny-play, :7760)에 귀속. 향후 다른 게임의 확률을 해부하는
화이트해킹 분석 도구로 확장하는 것이 목표.
무엇을 했는지
- 확률·통계 엔진 (한선씨 정본) —
한선씨/바카라확률엔진.한선
- 정확한 바카라 제3카드 규칙(플레이어/뱅커 드로 테이블) + 8덱 카운트 신발 + 몬테카를로.
- 베팅별 하우스 엣지 계산: 플레이어(1:1)·뱅커(0.95:1)·타이(8:1).
-
검증(500k판): 타이 9.51%(이론 9.52)·타이엣지 14.37%(이론 14.36) 정확,
P/B는 이론 ±0.1%(잔차=VM
무작위 PRNG 품질). 27s, 배열힙 증가 0.
- 브라우저 미러 (JS) —
public/js/baccara-engine.js
- .한선과 1:1 동일 로직(플랫폼락 더블작성). node 검증 200k판:
P=44.67·B=45.85·T=9.48·엣지 1.18/1.12/14.67 — 이론 거의 일치(JS PRNG 우수).
- 가족용 게임 UI —
public/baccara.html
- 카지노 펠트 테이블·큰 카드·칩(10/50/100)·플레이어/뱅커/타이 베팅·딜·정산.
- 라이브 통계 패널: 세션 전적, 칩 추세 스파크라인(우하향=교육), 이론 vs 시뮬,
"왜 집은 항상 이기나" 설명, 확장 로드맵. "10만판 시뮬" 버튼(브라우저 MC).
- 컴플라이언스: 연습용 칩·환전 불가·실제 돈 없음 명시(금지어 회피).
- 라우트 — server.js
/baccara → baccara.html (정적 /baccara.html도 동작).
관련 파일
/Users/ef/crowny-play/한선씨/바카라확률엔진.한선 (엔진 정본, 정산 포함)
/Users/ef/crowny-play/public/js/baccara-engine.js (브라우저 미러)
/Users/ef/crowny-play/public/baccara.html (가족용 UI)
/Users/ef/crowny-play/server.js (/baccara 라우트)
- 접속: https://play.crowny.org/baccara (로컬 http://127.0.0.1:7760/baccara)
VM 함정 3종 (해결) — 다른 세션 필독
- 나눗셈/나머지 자연반올림:
15/10=1, 18%10=-2, 89/100=1. 점수·퍼센트 깨짐.
→ 양수 전용
바닥나눗/바닥나머지 헬퍼로 전부 우회. (학습DB 등록)
- 배열은 GC 안 됨(큐브 백킹): 매 라운드 반환배열 생성 시 48MB 힙이 ~1.5만판에 고갈.
→ 핫루프(시뮬레이션)는
한판 로직
인라인, 스칼라 반환
뽑기만 사용 → 배열 0 할당.
→ 416장 신발+셔플 대신
14칸 카운트 배열(제자리
설정) 모델로 메모리 절약.
무작위(a,b) 상한 배타 [a, b-1] → 무작위(1, 남은+1)로 [1,남은] 포함.
(
설정은 in-place 변경, 복사 아님 — probe로 확인)
잔여 이슈 / 다음
- 한선씨 P/B ±0.1% 잔차:
무작위 PRNG 품질. 필요 시 (a) 정확 조합론 모드 추가,
(b) 더 나은 LCG/xorshift
무작위 대체로 개선 가능. 현재 교육·게임 목적엔 충분.
- 화이트해킹 확장: 블랙잭 기대값·룰렛 휠 편향·"이길 수 있다"는 불법게임 수학 함정 폭로.
엔진을 게임-제네릭(규칙 플러그인)으로 일반화하면 SLM(젯슨 토르) 이식 용이.
- 노출: 현재 직접 URL
/baccara. play 랜딩/앱 내비 링크 추가는 선택.