| 자료 유형 | 모듈 |
|---|---|
| 간단한 소개 | 회원간 PVP를 지원하는 포인트 연동 보드게임 흑과 백 입니다. |
| 설치 경로 | ./modules/qblackwhite |
| 코어 지원 범위 | Rhymix 2 이상 |
| PHP 지원 범위 | PHP 7.4 이상 |
| 자료 구분 | 공개 자료 GPL v3 |
| 데모 URL | https://jikwang.net/qblackwhite3 |
| 기타 정보 | 데모사이트 테스트 계정 test / 1234 |
블랙&화이트 게임 모듈
TV 프로그램 '더 지니어스'의 흑과백 룰을 기반으로 한 1대1 실시간 대전 카드게임 모듈입니다. 포인트를 걸고 실시간으로 상대와 심리전을 펼치는 전략적 커뮤니티 미니게임입니다.
게임 소개
각 플레이어는 0~8까지 9장의 카드를 보유하며, 짝수는 흑(黑), 홀수는 백(白) 카드입니다. 매 라운드마다 선공이 먼저 카드를 내면, 후공은 상대 카드의 색깔만 확인한 뒤 자신의 카드를 선택합니다. 숫자가 높은 쪽이 승리하며, 9라운드 중 더 많이 이긴 플레이어가 최종 승자가 됩니다.
(더 지니어스 흑과백 소개영상)
https://www.youtube.com/watch?v=F0X8JbX4Mjk

주요 기능
게임 시스템
-
1대1 실시간 대전 - 웹소켓 없이 폴링 기반으로 실시간 턴제 대전 구현
-
비대칭 정보 전략 - 후공은 상대 카드의 색깔(흑/백)만 보고 판단하는 심리전
-
9라운드 세트제 - 기본 9라운드 진행, 동점 시 연장전 자동 진행
-
턴 타임아웃 - 제한 시간 내 미제출 시 랜덤 카드 자동 제출 (기본 30초)
-
vs CPU 모드 - 상대 없이 혼자서도 즉시 플레이 가능
베팅 & 포인트
-
포인트 베팅 - 방 생성 시 베팅액 설정, 상대방도 동일 금액 자동 차감
-
친선전 모드 - 포인트 없이 순수하게 즐기는 모드
-
수수료 시스템 - 승리 시 관리자 설정 비율만큼 수수료 차감 (사이트 수익)
-
CPU 별도 베팅 한도 - CPU 대전 최대 베팅액을 따로 설정 가능
-
무승부 환불 - 무승부 시 양측 베팅 포인트 전액 환불
사용자 페이지
-
로비 - 대기 중인 방 목록, 방 생성, vs CPU, 내 진행 중 게임 표시
-
게임 방 - 카드 선택/제출, 라운드 그리드, 실시간 타이머
-
전적 페이지 - 총 게임수/승/패/무/승률 통계 카드, 상세 게임 기록 목록
-
랭킹 페이지 - 전체 PvP 랭킹 (승수/승률/수익 기준, CPU전 제외)
-
자동 로비 갱신 - 3초마다 방 목록/포인트 자동 갱신
-
실시간 카운트다운 - 남은 턴 시간 표시, 5초 이하 긴급 경고
몰수패 & 이탈 방지
-
페이지 이동 시 몰수패 - 로비/전적/랭킹 등 링크 클릭 시 자동 몰수패 처리
-
브라우저 닫기 대응 - beforeunload + Beacon API로 브라우저 종료 시에도 처리
-
포인트 정산 - 몰수패 시에도 베팅 포인트 정상 정산 (패자 차감, 승자 지급)
관리자 페이지
-
게임 설정 - 턴 타임아웃, 수수료율, 최소/최대 베팅액, CPU 최대 베팅액, 최대 방수
-
대시보드 - 총 게임수, 총 베팅 포인트, 총 수수료(사이트 수익) 통계
게임 규칙 요약
항목내용카드0~8 총 9장 (짝수=흑, 홀수=백)라운드9라운드 (동점 시 연장전)선공 결정1라운드 주사위, 이후 승자가 선공후공 힌트상대 카드의 색깔(흑/백)만 확인 가능승리 조건높은 숫자가 이김, 같으면 무승부최종 승리9라운드 중 더 많이 이긴 쪽 승리
기본 설정값
항목기본값턴 타임아웃30초수수료율10%최소 베팅액100P최대 베팅액50,000PCPU 최대 베팅액제한 없음최대 동시 방수50개
모든 설정은 관리자 페이지에서 자유롭게 변경 가능합니다.
설치 방법
-
qblackwhite폴더를 Rhymix의modules/디렉토리에 업로드 -
관리자 페이지 →대시보드에서 DB설정 후 설치된 모듈에서
블랙&화이트확인 -
사이트맵에서 블랙&화이트 모듈로 메뉴 생성
-
관리자 설정에서 수수료율/베팅 설정 조정
-
완료!
요구 사항
-
Rhymix 2.1 이상
-
PHP 7.4 이상
-
MySQL 5.7 / MariaDB 10.2 이상
댓글 10
와우 감사합니다 !
문제라기보다 회원간 포인트 선물을 금지시켜놨는데 이걸로 악용하는상태가 될수있겠다는 생각을 했습니다.
가입/출첵 등으로 모아둔 포인트가 pvp 대결로 인해 한사람에게 몰빵될수있는 상태가 되어버릴거같은 의심게임이생기네요
이를방지하고자 하루에 게임할수있는 게임수를 조정하는 옵션이 있으면 좋을거같습니다.
수수료 설정이되어도 동시에 동일유저가 메인아이디와 다량의 세컨아이디로 한아이디에 포인트를 몰아줄수있는게임이라
한사람당 게임할수있는 기준을 24시간기준으로 정해두는것도 좋아보입니다~
피드백 감사합니다.
말씀해주신 내용을 바탕으로 개선안을 준비해보겠습니다.
동일IP 끼리 대전을 금지하거나, 말씀해주신대로 일일게임횟수제한등을 추가하는 방향으로 하면 될것같아요!
연장전에 들어가면 기존게임과는 다르게 카드패가 노출되지않거나 실제 라운드마다 나오던 승리시 창표시 혹은 상대패의 ? 등이 나오지않는증상이 있습니다~
피드백 감사합니다. 위에 말씀해주신 일일 게임횟수제한과 함께 개선하여 업데이트하겠습니다!
연장전 에러, 일일 게임 횟수 제한 추가하여 업데이트했습니다!
감사합니다 즉시적용하였습니다 ㅎ
근데.. 잔여게임수 표시가 되면 더좋을거같다는......
좋은자료 감사드립니다!
방을 열어놓고 까먹는 경우가 있어서 방이 열린뒤 일정시간이 지나면 자동 만료되는 기능도 있으면 좋을것 같습니다.
수수료로 발생한 포인트 사이트 이익은 누가 가져가는 건가요?
사이트 관리자 입장에서 회원간 경기 수수료로 발생한 포인트 소모처리를 사이트의 이익이라고 표현했습니다!