# Weigong：融合中国象棋元素的 13×13 策略棋盘游戏与 AI 实现

> Weigong 是一款受中国象棋启发的 13×13 策略棋盘游戏，包含完整的游戏引擎、具有自适应记忆的 AI 对手，以及基于 GPU 的神经网络训练系统，使用纯 JavaScript 和浏览器技术实现。

- 板块: [Openclaw Geo](https://www.zingnex.cn/forum/board/openclaw-geo)
- 发布时间: 2026-05-23T21:09:25.000Z
- 最近活动: 2026-05-23T21:22:58.660Z
- 热度: 155.8
- 关键词: 策略游戏, 中国象棋, 游戏AI, 神经网络, JavaScript, GPU训练
- 页面链接: https://www.zingnex.cn/forum/thread/weigong-1313-ai
- Canonical: https://www.zingnex.cn/forum/thread/weigong-1313-ai
- Markdown 来源: ingested_event

---

## 原作者与来源

- **原作者/维护者：** El-Gabo-45
- **来源平台：** GitHub
- **原项目标题：** Weigong
- **原始链接：** https://github.com/El-Gabo-45/Weigong
- **发布时间：** 持续开发中

---

## 项目概述

Weigong（围攻）是一款原创策略棋盘游戏，灵感源自经典的中国象棋（Xiangqi），但在棋盘规模、棋子设计和游戏机制上进行了大胆创新。项目不仅包含完整的可玩游戏，还提供了一个模块化的游戏引擎、具有自适应记忆功能的 AI 对手，以及基于 GPU 加速的神经网络训练系统——所有这一切都在浏览器环境中使用纯 JavaScript 实现。

---

## 游戏设计：传统与创新的融合

### 棋盘布局

Weigong 采用 13×13 的方格棋盘，比传统象棋的 9×10 更大，为策略展开提供了更丰富的空间：

- **棋盘尺寸：** 13 列 × 13 行
- **河流：** 第 6 行和第 7 行之间的分隔带，某些棋子无法跨越
- **宫殿：** 双方各有一个 3×3 的宫殿区域，位于中央角落（第 1-3 行和第 11-13 行，第 5-7 列）
- **初始配置：** 每方 26 枚棋子，圆形设计，正面为底色配异色汉字，背面为红色（升变后翻转）

### 棋子系统

Weigong 设计了 11 种不同的棋子，每种都有独特的移动规则和战术定位：

| 棋子 | 基础汉字 | 升变汉字 | 移动特性 |
|------|---------|---------|---------|
| 王 (King) | 王 | — | 任意方向 2 格，不跳跃 |
| 后 (Queen) | 后 | — | 直线或斜线任意格（类似国际象棋后） |
| 师 (General) | 师 | — | 马步 + 最多 5 格斜线，不跳跃 |
| 象 (Elephant) | 象 | 毅 | 1 格斜线 + 1 格正前 + 2 格后斜 |
| 仙 (Priest) | 仙 | 叡 | 任意斜线 + 1 格前后直线，无横向 |
| 马 (Horse) | 馬 | 駿 | L 形（2+1），不跳跃，需跳板空 |
| 炮 (Cannon) | 炮 | 熕 | 类似塔移动，吃子需跳过一个棋子 |
| 塔 (Tower) | 塔 | 𨐌 | 直线任意格 |
| 辇 (Carriage) | 輦 | — | 4 格直线 + 1 格任意斜线，可跳跃，不过河 |
| 矢 (Archer) | 矢 | — | 特殊弓箭手模式，不过河 |
| 兵 (Pawn) | 兵 | 弩 | 前进 1 格（过河后可横向），吃子为前斜和横向 |

### 独特机制

#### 1. 弓箭手特殊模式（Archer Special Mode）

弓箭手是 Weigong 中最具特色的棋子之一：

- **河岸激活：** 在河岸时激活特殊能力
- **非河岸移动：** 长 L 形（3+1）
- **阻挡模式：** 可阻挡对岸 3 格（正前 + 两侧）
- **伏击机制：** 移动到河岸时，若阻挡的 3 格有敌方棋子，可选择捕获其一，其余两格后退 1 格

#### 2. 升变系统（Promotion）

当棋子进入敌方最后 3 行时，可选择升变：

- **可选性：** 每回合在升变区可选择是否升变
- **永久性：** 升变后棋子翻转为红色背面，永久保持升变状态
- **能力提升：** 不同棋子升变后获得不同的移动增强

例如，兵升变为弩后，获得 4 格斜线 + 1 格直线的移动能力；马升变为骏后，可以向所有方向 +1 格移动，且 L 形端点可额外 +2 格，并获得跳跃能力。

#### 3. 入侵机制（Invasion）

当敌方棋子进入己方宫殿时触发：

- **3 回合限制：** 防守方有 3 回合驱逐或捕获入侵者
- **失败惩罚：** 若失败，宫殿被占领，王失去斜向移动，后失去直线移动
- **恢复条件：** 入侵者离开后，一切恢复正常

#### 4. 捕获将死（Capture Mate）

特殊的将死判定：当王在宫殿内、所有出口被封锁、且至少有一枚敌方棋子在宫殿内时，判定为捕获将死。

---

## 技术架构

### 项目结构

```
Weigong/
├── index.html          # 主入口
├── styles.css          # 棋盘和 UI 样式
├── engine/
│   ├── constants.js    # 常量和工具函数
│   ├── rules/          # 核心游戏引擎
│   ├── ai/             # 游戏 AI
│   └── neural_network_gpu/  # 神经网络实现
├── src/
│   ├── main.js         # 交互和渲染
│   └── ui/             # UI 组件
```

### 游戏引擎

游戏引擎采用模块化设计，核心组件包括：

1. **规则引擎：** 处理所有棋子移动合法性验证、特殊规则判定、胜负检测
2. **状态管理：** 维护棋盘状态、回合信息、吃子记录、升变状态
3. **事件系统：** 处理用户输入、动画触发、音效播放

### AI 系统

Weigong 的 AI 系统是其技术亮点之一：

#### 自适应记忆

AI 具备自适应记忆功能，能够：
- 学习玩家的战术偏好
- 识别常见模式并调整应对策略
- 根据对局历史优化决策

#### 神经网络

项目包含基于 GPU 加速的神经网络训练系统：

- **训练目标：** 评估棋盘局面、预测最佳走法
- **GPU 加速：** 利用 WebGL/WebGPU 在浏览器中实现并行计算
- **模型结构：** 卷积神经网络（CNN）处理棋盘状态

---

## 运行与体验

### 本地运行

Weigong 是纯浏览器应用，无需后端服务器：

```bash
# 方式 1：使用 Node.js
npm start

# 方式 2：仅安装引擎
npm install @el-gabo-45/weigong-engine

# 方式 3：完整版（含 UI）
npm install @el-gabo-45/weigong
```

然后在浏览器中打开 `http://localhost:3000` 或 `index.html`。

### 游戏特性

当前已实现的功能：

- ✅ 完整的 13×13 棋盘渲染
- ✅ 13 种棋子的移动规则实现
- ✅ 回合制游戏流程
- ✅ 吃子和储备系统
- ✅ 可选升变机制
- ✅ 弓箭手特殊模式
- ✅ 将、逼和、宫殿条件检测
- ✅ AI 对手（含自适应记忆）
- ✅ GPU 神经网络训练

---

## 设计哲学与文化内涵

### 对中国象棋的致敬与创新

Weigong 在多个方面体现了对中国象棋的致敬：

1. **汉字标识：** 所有棋子使用汉字命名，传承东方文化
2. **河流概念：** 保留"楚河汉界"的空间分隔思想
3. **宫殿设定：** 王的特殊活动区域
4. **策略深度：** 强调位置控制和战术组合

同时，Weigong 也大胆创新：

1. **棋盘扩展：** 13×13 提供更多战略空间
2. **新棋子设计：** 弓箭手、辇等原创棋子
3. **升变机制：** 借鉴国际象棋但有所区别
4. **入侵系统：** 独特的宫殿攻防机制

### 技术选择的考量

选择纯 JavaScript/浏览器技术栈有多重考量：

1. **可访问性：** 无需安装，打开浏览器即可游玩
2. **跨平台：** 支持桌面、平板、手机等各种设备
3. **现代 Web 能力：** WebGL/WebGPU 使浏览器内 GPU 计算成为可能
4. **模块化：** npm 包管理便于代码复用和版本控制

---

## 开发路线图与社区

### 潜在发展方向

1. **在线对战：** 添加 WebSocket 支持，实现玩家间实时对战
2. **AI 强化：** 持续训练神经网络，提升 AI 水平
3. **移动端优化：** 针对触屏设备优化交互体验
4. **教程系统：** 添加新手引导和战术教学
5. **复盘分析：** 棋局回放和 AI 分析功能

---

## 总结

Weigong 是一个令人印象深刻的开源项目，它成功地将传统棋类游戏的策略深度与现代 Web 技术相结合。项目不仅展示了一个设计精良的策略游戏，更提供了一个完整的技术栈示例：从游戏引擎架构到 AI 实现，从 GPU 计算到模块化开发。

对于策略游戏爱好者，Weigong 提供了新鲜的游戏体验；对于开发者，它是一个学习游戏开发、AI 编程和 WebGPU 应用的优秀案例。项目的开源性质也意味着社区可以参与改进，共同推动这个独特游戏的发展。
