Skip to content

8188/matchstick-puzzle-solver

Repository files navigation

火柴棒谜题求解器 🔥

🇨🇳 中文 | 🇬🇧 English

Version: v0.6


一个现代化的火柴棒等式解题工具,支持标准模式和手写模式。

特性

  • 🎯 智能求解: 自动找出所有可能的解
  • 🎨 双模式: 支持标准模式和手写模式
  • 🔀 移动选择: 支持1或2根火柴的求解模式
  • 🧮 高级语法: 支持正负号(=+, =-, 开头+/-)和前导零过滤
  • 🔧 高级配置:
    • 搜索上限: 设置最大搜索次数(默认10000,范围1000-500000),影响求解速度和完整性
    • 过滤正负号解: 可选择过滤带正负号的等式解(如 +5-3=25-3=+2
  • 📊 详细展示: 显示求解方法、详细描述和计算时间
  • 🖼️ SVG显示: 精美的矢量图火柴棒显示,带真实火柴头
  • 🎮 3D 游戏页: game.html 提供火柴燃烧、翻页切题、涂鸦纸张风格的交互挑战
  • 📦 APK 打包: 支持 Capacitor Android 本地打包与 GitHub Actions 云端打包

快速开始

npm run serve

然后在浏览器中打开 http://localhost:8080

在线地址

项目结构

matchstick-puzzle-solver/
├── src/
│   ├── core/              # 核心求解模块
│   ├── modes/             # 模式定义(标准模式、手写模式)
│   ├── ui/                # UI层
│   └── utils/             # 工具模块
├── assets/                # 资源文件(字体、图片、音乐)
├── doc/                   # 文档
├── test/                  # 测试文件
├── index.html             # 求解器主页
├── game.html              # 3D 游戏页
├── rules.html             # 规则展示页
└── package.json           # 项目配置

文档

测试

node test/test-solver.js
# 或使用 npm
npm test

📋 TODO List

未来版本计划实现的功能:

  • 双火柴模式: 支持移动两根火柴的求解模式(✅ v0.2)
  • 性能优化: 剪枝算法、非阻塞求解(✅ v0.3),规则缓存 + Generator 惰性求值,提速 180×(✅ v0.5)
  • 统计功能: 求解时间统计(✅ v0.3)
  • 谜题生成器: 自动生成不同难度的火柴棒谜题(✅ v0.6)
  • 提示系统: 为用户提供分步提示(✅ v0.6)
  • 难度分级: 根据等式复杂度(✅ v0.6)、移动次数和解的数量自动评估难度
  • 自定义规则: 允许用户自定义火柴转换规则

更新日志

截图

index screenshot

许可证

MIT License

致谢

受启发于 narve/matchstick-puzzle-solver

  • Three.js:3D 渲染与火柴模型/动画支持
  • Vanta.js:动态背景效果

About

Move, Add, or Remove Matchsticks to Make the Equation Correct

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors