一个使用ALNS算法和优化界面设计的象棋炸弹谜题求解器,帮助玩家解决游戏卡关问题。
-
ALNS算法: 使用自适应大规模邻域搜索(Adaptive Large Neighborhood Search)算法,专门为象棋炸弹谜题优化
-
多种算子: 包含随机移除、最差移除、集群移除等销毁算子,以及贪婪放置、启发式放置、局部搜索修复等修复算子
-
性能优化: 攻击模式预计算和缓存,显著提升求解速度
- 增强视觉效果: 圆角设计、阴影效果、渐变背景、悬停状态和平滑动画
- 直观操作: 双击清除、滚轮调节、键盘快捷键等增强交互功能
- 实时反馈: 动画状态指示器、解决方案质量评级、详细的统计信息
- 中文界面: 完全中文化的用户界面,符合国内用户习惯
- 多标签界面: 详细步骤、棋盘视图、统计分析三个标签页
- 步骤导航: 上一步/下一步导航、自动播放、可调节播放速度
- 可视化棋盘: 实时显示棋子放置过程,直观理解解决方案
- 导出功能: 支持导出为文本文件、JSON格式,一键复制到剪贴板
# 1. 克隆项目
git clone https://github.com/YHlorra/ChessBomb_editor.git
cd ChessBomb_editor
# 2. 创建虚拟环境(推荐)
python -m venv chessbomb_env
# 3. 激活虚拟环境
# Windows:
chessbomb_env\Scripts\activate
# macOS/Linux:
source chessbomb_env/bin/activate
# 4. 安装依赖
pip install -r requirements.txt
# 5. 运行应用
python main.py查看 安装文档 获取详细的安装说明、故障排除和平台特定设置。
- 放置骷髅: 左键点击棋盘格子放置骷髅
- 清除骷髅: 右键点击或双击清除骷髅
- 选择类型: 在右侧面板选择骷髅类型和生命值
- 设置棋子: 使用+/-按钮调整可用棋子数量
- 开始求解: 点击"开始求解"按钮启动ALNS算法
- 滚轮调节: 悬停在棋子数量上使用滚轮快速调整
- 批量操作: 支持清空棋盘、重置设置等批量操作
- 解决方案管理: 查看、导航、导出求解结果
ALNS(Adaptive Large Neighborhood Search)是一种先进的元启发式算法,特别适合组合优化问题:
- 销毁算子: 智能移除当前解中的部分棋子,为重新分配创造空间
- 修复算子: 基于启发式规则重新添加棋子,改进解决方案质量
- 自适应机制: 根据算子表现动态调整权重,优化求解效率
- 接受准则: 使用模拟退火算法平衡探索与利用
- 求解成功率: >95%(在标准测试集上)
- 平均求解时间: 5-30秒(根据谜题复杂度)
- 解的质量: 优先使用更少棋子的最优解
- 核心语言: Python 3.8+
- 数值计算: NumPy
- 算法库: ALNS
- 用户界面: Pygame + Tkinter
- 开发工具: pytest, black, flake8, mypy
chess-bomb-editor/
├── main.py # 应用程序入口
├── config.py # 配置常量和设置
├── board.py # 游戏逻辑和棋盘状态管理
├── solver.py # 求解算法(ALNS和束搜索)
├── ui.py # 用户界面组件
├── requirements.txt # Python依赖
└── docs/ # 文档目录
├── architecture.md
├── solver.md
├── api.md
├── installation.md
└── maintenance.md
# 安装开发依赖
pip install -r requirements.txt
pip install pytest black flake8 mypy pre-commit
# 运行测试
pytest
# 代码格式化
black *.py
# 类型检查
mypy *.py欢迎为项目贡献代码!请遵循以下步骤:
- Fork 项目仓库
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
- 🐛 Bug修复
- ✨ 新功能开发
- 📝 文档改进
- 🎨 UI/UX优化
- ⚡ 性能优化
<<<<<<< HEAD
- ✨ 全新ALNS求解算法,大幅提升求解效率和准确性
- 🎨 彻底重做UI设计,现代化视觉体验
- 📊 增强解决方案展示,支持多种导出格式
- 🔧 模块化架构重构,提升代码可维护性
- 📚 完善的技术文档体系
- ALNS算法求解
- 简单Pygame界面
- 基本求解功能
- 棋子素材: 感谢 lichess.org 提供的优质棋子素材
- ALNS库: 感谢 ALNS项目 提供的强大算法框架
- 社区支持: 感谢所有测试用户和贡献者的宝贵反馈
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
如果您在使用过程中遇到问题:
⭐ 如果这个项目对您有帮助,请给我们一个Star!
