Skip to content

stellarissss/Unrestricted_Chinese_Chess

Repository files navigation

无限制象棋 - 项目说明文档

项目简介

无限制象棋是一款突破传统规则束缚的创新型中国象棋游戏。玩家可以通过自然语言指令,实时修改游戏规则、棋盘状态、棋子能力,甚至游戏界面本身。

这不是一款普通的象棋游戏,而是一个规则可塑的、活的游戏系统。


核心特性

  • 自然语言指令:输入"让我的马可以斜着走"、"車变成两个"等指令,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               # 前端应用

安装指南

1. 环境要求

  • Python 3.11+
  • pip

2. 安装依赖

pip install fastapi uvicorn httpx

3. 获取DeepSeek API Key

  1. 访问 DeepSeek官网
  2. 注册账号并获取API Key
  3. 首次运行游戏时,在设置中输入API Key

4. 启动游戏

cd unlimited_chess
python main.py

5. 访问游戏

打开浏览器访问:http://localhost:8000


使用说明

基本操作

  1. 走棋:点击棋子选中,再点击目标位置移动
  2. 悔棋:点击"悔棋"按钮回退一步(同时回退AI的一步)
  3. 重新开始:点击"重新开始"重置棋盘

自然语言指令

在底部输入框输入指令,例如:

指令类型 示例 效果
规则修改 "让我的马可以斜着走" 马增加斜向移动能力
规则修改 "象可以过河" 取消象的过河限制
规则修改 "兵可以后退" 兵增加后退能力
棋盘变换 "复制一个車到[3,3]" 在指定位置添加新車
棋盘变换 "把[0,0]的車移到[4,4]" 移动指定棋子
界面修改 "把棋盘背景改成蓝色" 修改棋盘颜色
娱乐 "把棋盘掀了" AI幽默回复

撤回AI修改

如果对AI的修改不满意,可以点击"撤回AI修改"按钮,恢复到上一次修改前的状态。


配置说明

board_state.json

棋盘状态,包含:

  • pieces: 棋子列表(位置、类型、存活状态等)
  • current_turn: 当前回合(red/black)
  • move_history: 移动历史(用于悔棋)
  • game_status: 游戏状态(进行中/结束)

piece_rules.json

棋子规则,定义每种棋子的移动方式:

  • movement.type: 移动类型(orthogonal/diagonal/L_shape/conditional)
  • movement.max_distance: 最大移动距离
  • movement.can_cross_river: 是否能过河
  • movement.blocking: 阻挡类型
  • custom_modifiers: 自定义修饰器(记录AI修改)

game_rules.json

游戏规则,包含:

  • win_conditions: 胜利条件
  • ai_difficulty: AI难度设置

ui_config.json

界面配置,包含:

  • theme: 颜色主题
  • custom_css: 自定义CSS
  • custom_js: 自定义JavaScript

AI系统架构

第一级:意图解析AI

  • 模型: deepseek-v4-flash
  • 职责: 理解玩家自然语言,分类意图,生成结构化指令
  • 分类: A(悔棋/输赢) / B(棋盘变换) / C(规则修改) / D(界面修改) / E(搞笑) / F(高级)

第二级:代码生成AI

  • 模型: deepseek-v4-flash
  • 职责: 根据结构化指令生成具体的JSON修改
  • 分类专家: 棋盘变换AI / 规则修改AI / 界面修改AI / 搞笑回复AI

安全机制

  1. JSON验证: 所有AI生成的JSON都经过格式验证
  2. 字段保护: 关键字段(如_metadata)不能被删除
  3. 范围检查: 坐标必须在棋盘范围内
  4. 撤销机制: 支持撤回AI的修改

开发计划

  • 基础象棋功能
  • AI对战
  • 自然语言指令解析
  • 规则修改系统
  • 棋盘变换系统
  • 界面修改系统
  • WebSocket实时通信
  • 多人对战
  • 更多棋子类型

许可证

MIT License


致谢

  • DeepSeek - 提供AI能力
  • FastAPI - Web框架
  • 中国象棋 - 千年智慧

About

象棋, 但是允许玩家深度自由地修改规则! 详细信息见README文档.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors