# chess **Repository Path**: longchenx/chess ## Basic Information - **Project Name**: chess - **Description**: 微信小程序开发中国象棋小游戏 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-08-07 - **Last Updated**: 2025-08-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 中国象棋小游戏 一个基于微信小游戏平台开发的中国象棋游戏,支持本地双人对战、人机对战和在线对战。 ## 功能特性 - 🎮 **本地双人对战**: 支持两名玩家在同一设备上进行象棋对战 - 🤖 **人机对战**: 内置AI对手,支持三个难度等级(简单、中等、困难) - 🌐 **在线对战**: 支持通过微信分享邀请好友进行在线对战 - 📱 **移动端优化**: 专为手机屏幕优化的触摸操作界面 - 🎨 **美观界面**: 现代化的UI设计,清晰的棋子显示 - ⚡ **流畅体验**: 60fps的游戏循环,响应迅速的触摸反馈 ## 游戏规则 ### 基本规则 - 红方先行,双方轮流移动棋子 - 目标是将死对方的将/帅 - 每种棋子都有特定的移动规则 ### 棋子移动规则 - **将/帅**: 在九宫格内横向或纵向移动一格 - **士/仕**: 在九宫格内斜向移动一格 - **象/相**: 斜向移动两格,不能过河,象眼不能被堵 - **马**: 日字形移动,马脚不能被堵 - **车**: 横向或纵向直线移动,路径上不能有其他棋子 - **炮**: 移动时与车相同,吃子时必须翻过一个棋子 - **兵/卒**: 只能向前移动一格,过河后可以左右移动一格 ## 技术架构 ### 核心模块 - `js/main.js`: 游戏主控制器 - `js/databus.js`: 全局数据管理 - `js/runtime/board.js`: 棋盘渲染和交互 - `js/ai/gameAI.js`: AI算法实现 - `js/network/`: 网络对战相关模块 ### 技术栈 - **渲染**: Canvas 2D API - **AI算法**: Minimax + Alpha-Beta剪枝 - **网络**: 微信云开发 - **平台**: 微信小游戏 ## 开发说明 ### 环境要求 - 微信开发者工具 - Node.js (用于云函数开发) ### 本地开发 1. 克隆项目到本地 2. 使用微信开发者工具打开项目 3. 配置云开发环境(如需要在线对战功能) 4. 编译运行 ### 项目结构 ``` gobang/ ├── app.js # 小程序入口文件 ├── game.js # 游戏主文件 ├── js/ # 游戏逻辑 │ ├── main.js # 主控制器 │ ├── databus.js # 数据管理 │ ├── runtime/ # 运行时组件 │ ├── ai/ # AI算法 │ └── network/ # 网络模块 ├── cloudfunctions/ # 云函数 └── images/ # 图片资源 ``` ## 版本历史 ### v1.4.4 - 实现完整的象棋移动规则 - 优化AI算法适配象棋 - 更新UI界面和文本 ### 主要改动 - 棋盘从15x15改为9x10的象棋标准棋盘 - 实现象棋的七种棋子及其移动规则 - 更新AI评估函数,适配象棋棋子价值 - 修改触摸交互逻辑,支持选择棋子后移动 - 更新所有UI文本,从五子棋改为象棋 ## 许可证 MIT License ## 贡献 欢迎提交Issue和Pull Request来改进这个项目!