Files
doucan/README.md
2026-02-19 21:18:12 +08:00

2.4 KiB
Raw Blame History

斗地主残局版 - 在线对战平台

项目简介

斗地主残局版(斗残)是创造性转化自原版斗地主的在线对战游戏。

特殊规则

  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

快速开始

部署

cd doudizhu-server
docker compose up -d --build

访问

游戏流程

  1. 输入昵称,创建房间或输入房间号加入
  2. 所有玩家点击"准备"
  3. 游戏自动开始每人发5张牌
  4. 轮流出牌或选择"不出"
  5. 一轮结束后每人摸一张牌
  6. 先出完所有手牌者获胜

开发

本地运行

cd doudizhu-server/app
go mod tidy
go run ./cmd
# 另开终端启动nginx或直接访问http://localhost:8080

构建

cd doudizhu-server
docker compose build