无限制象棋是一款突破传统规则束缚的创新型中国象棋游戏。玩家可以通过自然语言指令,实时修改游戏规则、棋盘状态、棋子能力,甚至游戏界面本身。
这不是一款普通的象棋游戏,而是一个规则可塑的、活的游戏系统。
- 自然语言指令:输入"让我的马可以斜着走"、"車变成两个"等指令,AI会自动修改游戏规则
- 实时生效:修改无需重启,立即应用到游戏中
- 多级AI协作:意图解析AI + 代码生成AI,精准理解玩家意图
- 安全稳定:JSON驱动架构,沙箱验证,确保修改安全
- AI对战:内置Minimax+Alpha-Beta剪枝算法,支持三档难度
┌─────────────────────────────────────────────────────────────┐
│ 前端层 │ HTML5 + CSS3 + 原生 JavaScript (ES2022+) │
├─────────────────────────────────────────────────────────────┤
│ 后端层 │ Python 3.11 + FastAPI + Uvicorn │
├─────────────────────────────────────────────────────────────┤
│ AI层 │ DeepSeek-V4 (Chat / Code 双模式) │
├─────────────────────────────────────────────────────────────┤
│ 存储层 │ 内存状态 + JSON配置文件 │
└─────────────────────────────────────────────────────────────┘
unlimited_chess/
├── main.py # FastAPI主服务器
├── ai_orchestrator.py # AI编排器(核心)
├── rule_engine.py # 象棋规则引擎
├── chess_ai.py # AI下棋引擎
├── prompts.py # AI提示词定义
├── configs/ # JSON配置文件
│ ├── board_state.json # 棋盘状态
│ ├── piece_rules.json # 棋子规则
│ ├── game_rules.json # 游戏规则
│ └── ui_config.json # 界面配置
└── static/ # 前端文件
├── index.html # 主页面
├── style.css # 样式表
└── app.js # 前端应用
- Python 3.11+
- pip
pip install fastapi uvicorn httpx- 访问 DeepSeek官网
- 注册账号并获取API Key
- 首次运行游戏时,在设置中输入API Key
cd unlimited_chess
python main.py打开浏览器访问:http://localhost:8000
- 走棋:点击棋子选中,再点击目标位置移动
- 悔棋:点击"悔棋"按钮回退一步(同时回退AI的一步)
- 重新开始:点击"重新开始"重置棋盘
在底部输入框输入指令,例如:
| 指令类型 | 示例 | 效果 |
|---|---|---|
| 规则修改 | "让我的马可以斜着走" | 马增加斜向移动能力 |
| 规则修改 | "象可以过河" | 取消象的过河限制 |
| 规则修改 | "兵可以后退" | 兵增加后退能力 |
| 棋盘变换 | "复制一个車到[3,3]" | 在指定位置添加新車 |
| 棋盘变换 | "把[0,0]的車移到[4,4]" | 移动指定棋子 |
| 界面修改 | "把棋盘背景改成蓝色" | 修改棋盘颜色 |
| 娱乐 | "把棋盘掀了" | AI幽默回复 |
如果对AI的修改不满意,可以点击"撤回AI修改"按钮,恢复到上一次修改前的状态。
棋盘状态,包含:
pieces: 棋子列表(位置、类型、存活状态等)current_turn: 当前回合(red/black)move_history: 移动历史(用于悔棋)game_status: 游戏状态(进行中/结束)
棋子规则,定义每种棋子的移动方式:
movement.type: 移动类型(orthogonal/diagonal/L_shape/conditional)movement.max_distance: 最大移动距离movement.can_cross_river: 是否能过河movement.blocking: 阻挡类型custom_modifiers: 自定义修饰器(记录AI修改)
游戏规则,包含:
win_conditions: 胜利条件ai_difficulty: AI难度设置
界面配置,包含:
theme: 颜色主题custom_css: 自定义CSScustom_js: 自定义JavaScript
- 模型: deepseek-v4-flash
- 职责: 理解玩家自然语言,分类意图,生成结构化指令
- 分类: A(悔棋/输赢) / B(棋盘变换) / C(规则修改) / D(界面修改) / E(搞笑) / F(高级)
- 模型: deepseek-v4-flash
- 职责: 根据结构化指令生成具体的JSON修改
- 分类专家: 棋盘变换AI / 规则修改AI / 界面修改AI / 搞笑回复AI
- JSON验证: 所有AI生成的JSON都经过格式验证
- 字段保护: 关键字段(如
_metadata)不能被删除 - 范围检查: 坐标必须在棋盘范围内
- 撤销机制: 支持撤回AI的修改
- 基础象棋功能
- AI对战
- 自然语言指令解析
- 规则修改系统
- 棋盘变换系统
- 界面修改系统
- WebSocket实时通信
- 多人对战
- 更多棋子类型
MIT License