初始化斗地主残局版项目
This commit is contained in:
101
README.md
Normal file
101
README.md
Normal file
@@ -0,0 +1,101 @@
|
||||
# 斗地主残局版 - 在线对战平台
|
||||
|
||||
## 项目简介
|
||||
|
||||
斗地主残局版(斗残)是创造性转化自原版斗地主的在线对战游戏。
|
||||
|
||||
### 特殊规则
|
||||
|
||||
1. **新增牌 - 超人强**: 作为第55张牌,是最大单牌,可管一切单牌,不可组合出
|
||||
2. **人数灵活**: 最少2人,最多10人
|
||||
3. **发牌规则**: 每人初始5张牌,一轮结束后每人摸一张牌
|
||||
4. **简化牌型**: 三张可成顺子,三张可成炸弹,两对可成连对
|
||||
5. **无地主**: 不设置地主,上一轮获胜者先出牌
|
||||
|
||||
### 牌型说明
|
||||
|
||||
| 牌型 | 说明 |
|
||||
|------|------|
|
||||
| 单牌 | 任意一张牌 |
|
||||
| 对子 | 两张相同点数的牌 |
|
||||
| 顺子 | 三张或以上连续点数的牌(不含2和王) |
|
||||
| 连对 | 两对或以上连续点数的对子(不含2和王) |
|
||||
| 三带一 | 三张相同点数+任意一张 |
|
||||
| 炸弹 | 三张或以上相同点数的牌 |
|
||||
| 火箭 | 小王+大王 |
|
||||
|
||||
### 牌型大小
|
||||
|
||||
超人强 > 大王 > 小王 > 2 > A > K > Q > J > 10 > 9 > 8 > 7 > 6 > 5 > 4 > 3
|
||||
|
||||
炸弹可管任何非炸弹牌型,火箭最大。
|
||||
|
||||
## 技术栈
|
||||
|
||||
- 后端: Go 1.21
|
||||
- 前端: HTML + CSS + JavaScript
|
||||
- 通信: WebSocket
|
||||
- 代理: Nginx
|
||||
- 部署: Docker Compose
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
doudizhu-server/
|
||||
├── app/ # Go后端
|
||||
│ ├── cmd/main.go # 程序入口
|
||||
│ ├── internal/
|
||||
│ │ ├── models/ # 数据模型
|
||||
│ │ ├── game/ # 游戏逻辑
|
||||
│ │ ├── handlers/ # HTTP处理器
|
||||
│ │ └── ws/ # WebSocket处理
|
||||
│ ├── Dockerfile
|
||||
│ └── go.mod
|
||||
├── nginx/
|
||||
│ ├── nginx.conf # Nginx配置
|
||||
│ └── html/ # 静态文件
|
||||
├── compose.yaml
|
||||
├── README.md
|
||||
└── API.md
|
||||
```
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 部署
|
||||
|
||||
```bash
|
||||
cd doudizhu-server
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
### 访问
|
||||
|
||||
- 本机: http://localhost
|
||||
- 局域网: http://<服务器IP>
|
||||
|
||||
### 游戏流程
|
||||
|
||||
1. 输入昵称,创建房间或输入房间号加入
|
||||
2. 所有玩家点击"准备"
|
||||
3. 游戏自动开始,每人发5张牌
|
||||
4. 轮流出牌或选择"不出"
|
||||
5. 一轮结束后每人摸一张牌
|
||||
6. 先出完所有手牌者获胜
|
||||
|
||||
## 开发
|
||||
|
||||
### 本地运行
|
||||
|
||||
```bash
|
||||
cd doudizhu-server/app
|
||||
go mod tidy
|
||||
go run ./cmd
|
||||
# 另开终端启动nginx或直接访问http://localhost:8080
|
||||
```
|
||||
|
||||
### 构建
|
||||
|
||||
```bash
|
||||
cd doudizhu-server
|
||||
docker compose build
|
||||
```
|
||||
Reference in New Issue
Block a user