# Monopoly **Repository Path**: kaiqiangli/monopoly ## Basic Information - **Project Name**: Monopoly - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-20 - **Last Updated**: 2026-04-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 网页版多人大富翁游戏 一个基于Web的多人在线大富翁游戏,支持2-4人实时对战。 ## 功能特性 - ✅ 用户注册/登录系统 - ✅ 房间管理系统(最多4人) - ✅ 实时多人游戏对战 - ✅ 经典大富翁游戏规则 - ✅ 游戏历史记录查询 - ✅ WebSocket实时通信 ## 技术栈 - **前端**: HTML5 + CSS3 + JavaScript - **后端**: Node.js + Express - **实时通信**: Socket.io - **数据库**: MySQL 8.0+ - **认证**: JWT + bcrypt ## 快速开始 ### 环境要求 - Node.js >= 16.0 - MySQL >= 8.0 - npm 或 yarn ### 安装步骤 1. **克隆项目** ```bash git clone cd monopoly-game ``` 2. **安装依赖** ```bash npm install ``` 3. **配置数据库** ```bash # 编辑配置文件 cp server/config/database.example.js server/config/database.js # 初始化数据库 mysql -u root -p < sql/schema.sql ``` 4. **配置环境变量** ```bash cp .env.example .env # 编辑 .env 文件,填写数据库连接信息和JWT密钥 ``` 5. **启动服务** ```bash npm start ``` 6. **访问游戏** 打开浏览器访问: `http://localhost:3000` ## 项目结构 ``` monopoly-game/ ├── server/ # 后端代码 │ ├── config/ # 配置文件 │ ├── models/ # 数据模型 │ ├── routes/ # API路由 │ ├── middleware/ # 中间件 │ ├── websocket/ # WebSocket处理 │ └── utils/ # 工具函数 ├── client/ # 前端代码 │ ├── css/ # 样式文件 │ ├── js/ # JavaScript文件 │ └── *.html # HTML页面 ├── sql/ # 数据库脚本 └── docs/ # 文档 ``` ## 游戏规则 ### 基本规则 - 每回合掷两个六面骰子并移动 - 停留在未购买的地产可选择购买 - 停留在他人地产需支付租金 - 金币耗尽则破产出局 - 最后存活的玩家获胜 ### 特殊格子 - **START**: 经过获得200金币 - **TAX**: 支付税款 - **CHANCE/COMMUNITY_CHEST**: 抽取机会/命运卡 - **JAIL**: 监狱 - **GO_TO_JAIL**: 直接进监狱 ## API文档 详细的API文档请查看: [docs/api.md](docs/api.md) ## 开发指南 ### 数据库设计 详细的数据库设计请查看: [docs/monopoly-game-design.md](docs/monopoly-game-design.md) ### WebSocket事件 详细的WebSocket事件说明请查看设计文档。 ## 部署 ### 生产环境部署 1. 设置环境变量 `NODE_ENV=production` 2. 配置Nginx反向代理(可选) 3. 使用PM2管理进程 4. 配置SSL证书(推荐) ```bash # 使用PM2 pm2 start server/app.js --name monopoly-game pm2 save pm2 startup ``` ## 贡献 欢迎提交Issue和Pull Request! ## 许可证 MIT License ## 联系方式 如有问题或建议,请提交Issue。