# three-player-gomoku **Repository Path**: yun2hai/three-player-gomoku ## Basic Information - **Project Name**: three-player-gomoku - **Description**: 三个人一起玩的五子棋 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-28 - **Last Updated**: 2025-07-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 三人联机五子棋游戏 [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) ![Python](https://img.shields.io/badge/python-3.7%2B-blue) ![Platform](https://img.shields.io/badge/platform-windows%20%7C%20macos%20%7C%20linux-lightgrey) 一个支持三人同时在线对战的五子棋游戏,使用Python和WebSocket技术实现。 ## 目录 - [功能特性](#功能特性) - [截图](#截图) - [安装](#安装) - [使用方法](#使用方法) - [局域网联机](#局域网联机) - [技术架构](#技术架构) - [文件说明](#文件说明) - [贡献](#贡献) - [许可证](#许可证) ## 功能特性 - 🎮 **三人对战**: 支持三名玩家同时在线游戏 - 🌐 **实时联机**: 基于WebSocket的实时通信 - 🎨 **美观界面**: 响应式设计,适配桌面和移动设备 - 🎯 **标准规则**: 遵循传统五子棋规则,率先连成五子者获胜 - 🔄 **重新开始**: 游戏结束后可一键重新开始 - 📱 **跨平台**: 支持Windows、macOS和Linux系统 ## 截图 ![游戏界面](img/PixPin_2025-07-28_18-12-37.png) *游戏主界面* ## 安装 ### 环境要求 - Python 3.7 或更高版本 - 支持WebSocket的现代浏览器 ### 安装步骤 1. 克隆项目仓库: ```bash git clone https://github.com/yourusername/gomoku-three-players.git cd gomoku-three-players ``` 2. 安装依赖: ```bash pip install websockets ``` ## 使用方法 ### 启动服务器 ```bash python server.py ``` 服务器默认监听 `0.0.0.0:8765`,你可以在 [server.py](file:///Users/yunhai/Downloads/data/server.py) 中修改端口配置。 ### 启动Web服务器(可选) 如果你想通过HTTP访问游戏界面: ```bash python -m http.server 8000 ``` 然后在浏览器中访问 `http://localhost:8000/gomoku.html` ### 游戏流程 1. **创建游戏**: - 打开游戏界面 - 点击"创建游戏"按钮 - 记下生成的游戏ID 2. **加入游戏**: - 其他两名玩家打开游戏界面 - 输入游戏ID - 点击"加入游戏"按钮 3. **开始游戏**: - 当三名玩家都加入后,游戏自动开始 - 黑子玩家先手,按顺序轮流落子 4. **游戏规则**: - 率先连成五子(横、竖、斜)的玩家获胜 - 落子后无法悔棋 - 玩家断线后游戏继续 ## 局域网联机 要在局域网中进行游戏,需要进行以下配置: ### 1. 服务器配置 服务器默认监听所有网络接口(`0.0.0.0:8765`),确保防火墙允许该端口通信。 ### 2. 客户端配置 在局域网中,其他玩家需要修改游戏界面中的WebSocket连接地址: 1. 打开 [gomoku.html](file:///Users/yunhai/Downloads/data/gomoku.html) 文件 2. 找到JavaScript代码中的WebSocket连接部分(大约在第330行): ```javascript this.websocket = new WebSocket('ws://localhost:8765'); ``` 3. 将 `localhost` 替换为运行服务器的计算机的局域网IP地址,例如: ```javascript this.websocket = new WebSocket('ws://192.168.1.100:8765'); ``` 4. 保存文件并在浏览器中打开 ### 3. 获取服务器IP地址 #### Windows系统: ```cmd ipconfig ``` #### macOS/Linux系统: ```bash ifconfig ``` 查找局域网IP地址(通常以192.168.x.x或10.x.x.x开头)。 ### 4. 局域网游戏流程 1. 在一台计算机上启动服务器: ```bash python server.py ``` 2. 其他计算机修改[gomoku.html](file:///Users/yunhai/Downloads/data/gomoku.html)中的WebSocket地址为服务器IP 3. 所有玩家通过HTTP服务器或直接打开[gomoku.html](file:///Users/yunhai/Downloads/data/gomoku.html)文件访问游戏界面 4. 按照正常游戏流程创建和加入游戏 ## 技术架构 ### 服务器端 - 使用Python 3和[websockets](https://github.com/aaugustin/websockets)库 - 异步事件循环处理多玩家连接 - 实时游戏状态同步 ### 客户端 - 纯HTML/CSS/JavaScript实现 - WebSocket客户端通信 - 响应式设计适配各种屏幕尺寸 ### 通信协议 使用JSON格式的消息进行客户端-服务器通信: ```json { "action": "make_move", "row": 7, "col": 7 } ``` 支持的动作包括: - `create_game`: 创建游戏 - `join_game`: 加入游戏 - `make_move`: 落子 - `restart_game`: 重新开始游戏 ## 文件说明 - [server.py](file:///Users/yunhai/Downloads/data/server.py) - WebSocket服务器端代码 - [gomoku.html](file:///Users/yunhai/Downloads/data/gomoku.html) - 游戏前端界面 - [README.md](file:///Users/yunhai/Downloads/data/README.md) - 项目说明文档 ## 贡献 欢迎任何形式的贡献!如果你有改进建议或发现了bug,请: 1. Fork本项目 2. 创建你的特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交你的更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启一个Pull Request ## 许可证 本项目采用MIT许可证,详情请见 [LICENSE](LICENSE) 文件。 ## 联系方式 你的名字 - [@your_twitter](https://twitter.com/your_twitter) - your_email@example.com 项目链接: [https://github.com/yourusername/gomoku-three-players](https://github.com/yourusername/gomoku-three-players)