一个支持多种在线卡牌游戏的平台,目前支持"谁是猪头王"(牛头王)游戏,并具备通过配置热发布新游戏的能力。
谁是猪头王是一款基于Spring Boot + Vue 3 + 微信小程序的多人在线卡牌游戏平台。
- ✅ 多游戏支持 - 可插拔的游戏引擎架构,轻松添加新游戏
- ✅ 实时对战 - WebSocket实时通信,流畅的游戏体验
- ✅ 多端支持 - Web端 + 微信小程序
- ✅ 智能托管 - 机器人玩家和托管模式
- ✅ 商业化就绪 - 支付系统、VIP会员、虚拟货币
- ✅ 内容安全 - 微信内容安全API对接
top_hog_all/
├── top_hog_server/ # 后端服务 (Spring Boot)
├── top_hog_web/ # Web前端 (Vue 3)
├── top_hog_miniprogram/ # 微信小程序
└── docs/ # 项目文档
- 后端: Java 17+, Maven 3.6+, MySQL 8.0+
- Web前端: Node.js 16+, npm 8+
- 小程序: 微信开发者工具
# 创建数据库
mysql -u root -p
CREATE DATABASE top_hog_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# 执行初始化脚本
mysql -u root -p top_hog_db < top_hog_server/src/main/resources/db/init.sqlcd top_hog_server
mvn spring-boot:run访问 Swagger API 文档: http://localhost:8088/swagger-ui/index.html
cd top_hog_web
npm install
npm run dev使用微信开发者工具打开 top_hog_miniprogram 目录。
经典的牛头王卡牌游戏,支持2-6人对战。
游戏规则:
- 每轮选择一张手牌
- 牌按数字大小排序后依次放入4行
- 第6张牌需要收走整行
- 收到的牛头数最多的玩家成为"猪头王"
- ✅ 支付系统 - 微信支付对接
- ✅ 虚拟货币 - 金币、钻石系统
- ✅ VIP会员 - 月卡、季卡、年卡
- ✅ 商城系统 - 商品管理、订单管理
- ✅ 内容安全 - 文本、图片安全检测
- ⏳ 广告变现 - 激励视频、Banner广告
- ⏳ 排行榜系统 - 全服排行、好友排行
- ⏳ 成就系统 - 成就徽章、奖励
- ⏳ 社交功能 - 好友系统、战队系统
详见 商业化计划
- 框架: Spring Boot 3.x
- 数据库: MySQL 8.0
- ORM: JPA/Hibernate
- 实时通信: WebSocket
- 安全: Spring Security + JWT
- 文档: Swagger/OpenAPI
- 框架: Vue 3
- 构建工具: Vite
- HTTP客户端: Axios
- 路由: Vue Router
- 框架: 原生小程序
- UI: 自定义组件
- 状态管理: 本地存储
GameType (游戏类型枚举)
↓
GameEngine (游戏引擎接口)
↓
GameEngineFactory (游戏引擎工厂)
↓
具体游戏实现 (TopHogGameEngine, ...)
设计原则:
- 开放-封闭原则: 对扩展开放,对修改封闭
- 依赖倒置原则: 依赖抽象而非具体实现
- 配置驱动: 通过配置热更新游戏
无需重启服务器即可:
- 添加新游戏
- 修改游戏参数
- 启用/禁用游戏
- 更新游戏规则
- 敏感信息加密 - Jasypt加密配置
- 内容安全 - 微信内容安全API
- JWT认证 - 无状态身份验证
- HTTPS - 生产环境强制HTTPS
- SQL注入防护 - JPA参数化查询
- 数据库索引 - 关键字段索引优化
- 连接池 - HikariCP高性能连接池
- 异步处理 - WebSocket异步消息
- 缓存策略 - 游戏配置缓存
欢迎贡献代码和提出建议!
只需3步:
- 在
GameType.java中添加游戏类型枚举 - 实现
GameEngine接口 - 创建游戏配置文件
详见 快速开始指南
- ✅ 完成P0级商业化功能
- ✅ 支付系统、VIP会员、虚拟货币
- ✅ 内容安全API对接
- ✅ 微信小程序UI优化
- ✅ 多游戏架构重构
- ✅ 配置热更新
- ✅ WebSocket实时通信
MIT License
欢迎加入我们,一起打造更好的游戏平台!
Made with ❤️ by Top Hog Team