
omok.swtiger.site
시작하려면 로그인이 필요합니다.
검은 돌과 흰 돌, 먼저 다섯 줄을 잇는 자가 이긴다 — 1분이면 배우는, 끝없는 수읽기. 「오목」은 15×15 바둑판 위에서 즐기는 실시간 2인 대국이에요. 흑·백이 번갈아 한 점씩 놓아, 가로·세로·대각선 어느 방향이든 내 돌 다섯 개를 먼저 한 줄로 이으면 승리합니다. • 방 코드로 대국 — 숫자 코드를 만들어 친구를 초대하거나, 코드만 입력해 바로 참가. • 손끝으로 두는 한 수 — 교차점을 누르면 돌이 놓이고, 마지막 수와 승리한 줄이 한눈에. 모바일에 최적화했어요. • 혼자서도 한 판 — 빈 자리를 AI가 채워주는 연습 대국. 공격과 수비를 함께 읽는 봇이고, 전적엔 'AI전'으로 구분돼요. • 렌주 룰 옵션 — 흑의 3-3·4-4·장목을 금지하는 렌주 룰을 켜고 끌 수 있어요(금수 자리는 판에 ✕로 표시). '장목 승리 인정'을 켜면 6목 이상도 승리로. • 보상 & 전적 — 2인 대국에서 이기면 허브 재화가 적립되고, 사람전·AI전 전적이 차곡차곡 쌓여요. 규칙 요약 — 흑이 먼저, 이후 흑·백이 번갈아 한 점씩 둬요. 가로·세로·대각선으로 정확히 5목을 먼저 만들면 승리해요(장목 6목 이상은 옵션으로 인정). 렌주 룰을 켜면 흑은 3-3·4-4·장목을 둘 수 없지만, 정확히 5목을 완성하는 수는 예외로 인정돼요. 더 둘 곳이 없으면 무승부. 자세한 내용은 게임 안 '룰북'에서 볼 수 있어요. 규칙은 한 줄, 수읽기는 끝없이. 지금 바로 다섯 줄을 그려보세요.
v1.1.1
### Added - **변경 불가 이름 필드 하네스**(`public/locked-field.js`, hub-game-template에서 도입) 적용 — 로그인 시 홈 화면의 닉네임 칸이 SSO 계정 이름으로 고정됨이 분명히 보이도록 **읽기전용·점선·흐림 + 🔒 자물쇠 아이콘 + 안내문/툴팁('변경 불가')**으로 '잠김' 표시. `readonly`(disabled 아님)라 포커스·복사·스크린리더('read only') 호환, `aria-readonly`/`aria-disabled`로 의도 전달, `inputmode=none`으로 모바일 키보드 억제. (스캐폴드 이후 추가된 패턴이라 누락돼 있던 것을 반영.)
v1.1.0
### Added - **로컬 2인 모드(pass-and-play)** — 한 기기에서 두 명이 흑·백 번갈아 두는 오프라인 대국. 전적·보상이 필요 없어 **SSO 로그인 없이** 바로 플레이. 클라이언트에서 완결되는 규칙 엔진 (`public/omok-core.js`, 서버 game-logic 미러: 승리·장목·간이 렌주 판정)으로 동작 — 소켓/서버 미사용. - 로컬 대국은 **판을 화면 가득(여백 최소)** 키워 착수 정밀도와 가독성을 높임(`.goban.fill`). - 홈 화면을 **로컬 2인 / 온라인 대국** 두 카드로 재구성. ### Changed - 페이지 게이트 완화: 앱 셸을 비로그인 사용자에게도 제공(로컬 모드용). **온라인 대국은 그대로 로그인 필수**(Socket.IO 핸드셰이크 게이트가 실질 경계) — 보상/전적은 온라인·로그인 정책 유지.
v1.0.0
### Added - **오목(Omok) 게임 출시** — 15×15 바둑판, 흑·백 교대 착수, 가로/세로/대각 5목 완성 시 승리, 판이 가득 차면 무승부. - **실시간 2인 대국**: 숫자 방 코드 생성/입장, 흑·백 색 선택, 모바일 재접속 grace. - **AI 1인 모드**: 위협 기반 휴리스틱 봇(자기 공격 + 상대 수비 평가). 봇 수는 사람 착수와 같은 흐름에서 동기적으로 처리되어 별도 스케줄러가 필요 없음. 전적에서 **AI전/사람전** 구분. - **렌주 룰(옵션, 흑 금수)**: 3-3(쌍삼)·4-4(쌍사)·장목 금지 — 비재귀 간이 판정. 흑 차례에 금수 자리를 ✕ 로 표시. 정확히 5목을 만드는 수는 금수보다 우선해 승리로 인정(장목 제외). - **장목 승리 인정(옵션)**: 기본은 정확히 5목만 승리, 토글 시 6목 이상도 승리. - **룰북 페이지**, 모바일 최적화 바둑판(교차점 터치 정밀도, 확대축소 방지), **PWA**. - 허브 연동(템플릿 하네스 활용): SSO 게이팅, 승/패/무 재화 보상 + 보상 모달, 전적 기록, 토큰 keepalive·세션 만료 재로그인, 로그아웃. ### Changed - `server/auth.js`: confidential 전용 → **public(PKCE S256, secret 없음) 클라이언트 지원** (토큰 교환 시 client_id를 본문에, Basic 인증 생략). omok OIDC 클라이언트가 public이라 필요.