https://github.com/stonify5/Online-omok
WebSocket을 활용한 실시간 대전 오목 게임입니다. Go 언어의 강력한 동시성과 WebSocket의 실시간 통신으로 구현된 클래식 보드게임을 웹에서 즐겨보세요.
https://github.com/stonify5/Online-omok
game go golang gomoku gomoku-game html5-canvas js omok online websocket websockets
Last synced: about 1 year ago
JSON representation
WebSocket을 활용한 실시간 대전 오목 게임입니다. Go 언어의 강력한 동시성과 WebSocket의 실시간 통신으로 구현된 클래식 보드게임을 웹에서 즐겨보세요.
- Host: GitHub
- URL: https://github.com/stonify5/Online-omok
- Owner: stonify5
- License: mit
- Created: 2023-01-27T11:25:54.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-11-02T11:30:17.000Z (over 1 year ago)
- Last Synced: 2025-04-04T16:11:50.253Z (about 1 year ago)
- Topics: game, go, golang, gomoku, gomoku-game, html5-canvas, js, omok, online, websocket, websockets
- Language: HTML
- Homepage: https://stonify5.com
- Size: 393 KB
- Stars: 22
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🎮 Online Gomoku Game
> 🎯 실시간 멀티플레이어 오목 게임 플랫폼
---
## 📋 목차
- [개요](#-개요)
- [기능](#-기능)
- [아키텍처](#-아키텍처)
- [게임 규칙](#-게임-규칙)
- [시작하기](#-시작하기)
---
## 📖 개요
실시간 웹소켓 기반의 온라인 오목 게임 플랫폼입니다.
### 시스템 구조
```mermaid
sequenceDiagram
participant Player1
participant Server
participant Player2
Player1->>Server: 게임 참가 요청
Player2->>Server: 게임 참가 요청
Server->>Server: 매칭
Server->>Player1: 게임 시작 (흑돌)
Server->>Player2: 게임 시작 (백돌)
loop 게임 진행
Player1->>Server: 돌 놓기
Server->>Player2: 상태 업데이트
Player2->>Server: 돌 놓기
Server->>Player1: 상태 업데이트
end
```
## ✨ 기능
### 핵심 기능
- 🎲 **실시간 멀티플레이어**
- WebSocket 기반 실시간 통신
- 자동 플레이어 매칭
- 게임 상태 동기화
- 🎯 **게임 시스템**
- 오목 규칙 판정
- 턴 기반 게임 진행
- 승패 판정
- 🔄 **매칭 시스템**
- 자동 룸 매칭
- 대기열 관리
- 게임 세션 관리
### 게임 상태 흐름
```mermaid
stateDiagram-v2
[*] --> 대기
대기 --> 매칭중
매칭중 --> 게임중
게임중 --> 종료
종료 --> [*]
```
## 🏗️ 아키텍처
### 서버 구조
```yaml
서버:
- WebSocket 서버
- 게임 로직 엔진
- 매칭 시스템
클라이언트:
- 웹 인터페이스
- WebSocket 클라이언트
- 게임 렌더러
```
## 🎯 게임 규칙
### 기본 규칙
1. 흑돌이 먼저 시작
2. 교차점에 돌을 놓음
3. 5목 달성 시 승리
### 승리 조건
| 방향 | 설명 | 예시 |
| ------ | --------------- | ------ |
| 가로 | 가로 방향 5개 | ●●●●● |
| 세로 | 세로 방향 5개 | ⋮ |
| 대각선 | 대각선 방향 5개 | ⋰ or ⋱ |
| 역대각 | 역대각 방향 5개 | ⋱ or ⋰ |
## 🚀 시작하기
### 플레이 방법
1. [stonify5.com](https://stonify5.com) 접속
2. 자동 매칭 대기
3. 상대방 매칭 시 게임 시작
4. 턴에 맞춰 돌 배치
### 조작 방법
| 동작 | 설명 |
| ---- | ------- |
| 클릭 | 돌 놓기 |
---
**[맨 위로 올라가기](#-online-gomoku-game)**
Made with ❤️ by [in-jun](https://github.com/in-jun)