Skip to content

Repository files navigation

♔ 弈 — Chess-Flutter

多合一棋牌游戏 · 10 种经典玩法 · 内置 AI · 日夜主题 · 全平台

CI Release Flutter MIT
Android 8+ iOS 13+ Web PWA
在线游玩 Windows 10+ Linux macOS 12+

📥 下载 · 🎮 游戏 · ✨ 特性 · ⚙️ 技术 · 🚀 开发 · 📁 结构 · 🤝 贡献


📥 下载

Android

架构 文件 适用设备 推荐
arm64-v8a Chess-Flutter-*-android-arm64.apk 2016年后安卓手机 首选
armeabi-v7a Chess-Flutter-*-android-arm32.apk 老旧安卓手机
x86_64 Chess-Flutter-*-android-x64.apk 模拟器 / Chromebook

Download APK

💡 推荐下载 arm64-v8a 版本(体积更小、速度更快)。

其他平台

Web PWA Windows x64 Linux macOS DMG iOS app and ipa

平台 构建产物 获取方式
🌐 Web (PWA) Chess-Flutter-*-web-pwa.zip 在线游玩 · 或下载解压后部署到静态服务器
🪟 Windows Chess-Flutter-*-windows-x64.zip 解压 → 运行 chess_app.exe
🐧 Linux Chess-Flutter-*-linux-x64.AppImage / Chess-Flutter-*-linux-amd64.deb / Chess-Flutter-*-linux-x64.tar.gz AppImage: 双击运行 · deb: sudo dpkg -i · tar.gz: 解压运行
🍎 macOS Chess-Flutter-*-macos-x64.dmg 双击 → 拖到 Applications 文件夹
📱 iOS Chess-Flutter-*-ios-app.zip · Chess-Flutter-*-ios-ipa.ipa .app.zip: Xcode → Devices 拖入 · .ipa: SideLoadly / AltStore

所有平台的构建产物均可从 GitHub Actions 的 CI artifact 下载。
正式发布版本见 GitHub Releases


🎮 游戏一览

游戏 类型 模式 AI 强度 特色
♟️ 国际象棋 棋类 🤖 人机 · 👥 双人 ⭐⭐⭐⭐⭐ 云端 StockFish 引擎(LiChess API)
围棋 棋类 🤖 人机 · 👥 双人 ⭐⭐⭐⭐ 混合启发式引擎 · 中国规则数子
中国跳棋 棋类 🤖 人机 · 2~6人 ⭐⭐⭐ 六角星形 · 搭桥跳跃
🏯 中国象棋 棋类 🤖 人机 · 👥 双人 ⭐⭐⭐⭐ Alpha-Beta 搜索 · 历史启发
五子棋 棋类 🤖 人机 · 👥 双人 ⭐⭐⭐ 棋型评分 · 启发式搜索
井字棋 棋类 🤖 人机 · 👥 双人 ⭐⭐⭐ Minimax · 必不败策略
🃏 斗地主 牌类 🤖 1v2 人机 ⭐⭐⭐⭐ 叫地主 · 炸弹 · 火箭 · 飞机
🎯 德州扑克 牌类 🤖 人机 ⭐⭐⭐ 7选5 牌型评估
♠️ 换牌扑克 牌类 🤖 人机 ⭐⭐⭐ 5 张抽换
🌈 UNO 牌类 🤖 人机 ⭐⭐⭐ 标准规则 · 功能牌动画
🕷️ 蜘蛛纸牌 牌类 👤 单人 ⭐⭐ 三难度 · 单/双/四色

✨ 核心特性

🧠 国际象棋:云端 StockFish 引擎

国际象棋每步调用 LiChess Cloud Eval API,使用世界最强开源引擎 StockFish 在线分析局面:

  • 🌐 有网络时 → 云端 StockFish 分析(depth 20+),走法精准
  • 📴 无网络 → 自动回退内置 AI(深度 4),不影响游戏
  • 🔄 每步独立 — 不锁定,有网就用云,没网就本地

其他 9 款游戏均使用 纯 Dart 内置 AI 引擎,完全离线可用。

🎨 视觉体验

特性 说明
🌓 日夜主题 一键切换,800ms 圆形扩散波纹动画(Pixel-like)
🎨 Material You 自适应系统主题色(Android 12+)
🃏 卡牌动画 发牌、翻牌、出牌流畅过渡
💣 特效反馈 炸弹、火箭、UNO 功能牌动画
🖼️ 自适应图标 跟随系统主题形状(Android 13+)

🎯 游戏体验

  • 📖 内置教程 — 全部 10 款游戏都有从零开始的详细图文教程
  • 👥 双人对弈 — 五子棋、井字棋、中国象棋、国际象棋、围棋、中国跳棋支持双人同屏
  • 🤖 AI 多级难度 — 从新手到高手均可对战
  • 📝 完整日志系统 — 调试信息持久化,支持搜索与导出

⚙️ 技术栈

领域 技术
框架 Flutter 3.27 · Dart 3.5+
设计语言 Material Design 3 · Dynamic Color
状态管理 Provider
持久化 SharedPreferences · 文件日志系统
国际象棋 dartchess · chessground · LiChess Cloud Eval API
牌类引擎 poker_solver · card_game
日夜切换 Custom CircularReveal (800ms)
CI/CD GitHub Actions(Android / Web / Windows / Linux / macOS / iOS 自动构建)
发布产物 Android APK · Web PWA ZIP · Windows ZIP · Linux AppImage / deb / tar.gz · macOS DMG · iOS app ZIP / IPA
最低支持 Android 8.0 · iOS 13.0 · Windows 10 · macOS 12 · Linux GTK3

跨平台架构

┌─────────────────────────────────────────────────────┐
│                      Dart UI Code                    │
│    (lib/ — 100% shared, no platform-specific code)  │
├──────────┬──────────┬──────┬──────┬──────┬──────────┤
│ Android  │   iOS    │ Web  │Win   │Linux │  macOS   │
│  (Kotlin) │ (Swift)  │(HTML)│(C++) │(C++) │ (Swift)  │
└──────────┴──────────┴──────┴──────┴──────┴──────────┘

🚀 开发指南

前置条件

# 安装 Flutter
# 详见 https://docs.flutter.dev/get-started/install

# 验证
flutter doctor

快速开始

# 克隆
git clone https://github.com/JLeo0001/Chess-Flutter.git
cd Chess-Flutter

# 安装依赖
flutter pub get

# 运行(自动检测平台)
flutter run

构建发布

平台 命令 额外要求
Android flutter build apk --release --split-per-abi
iOS cd ios && pod install && cd .. && flutter build ios --release --no-codesign macOS + Xcode
Web flutter build web --release
Windows flutter build windows --release Visual Studio 2022 + C++ 桌面工作负载
Linux flutter build linux --release cmake ninja-build libgtk-3-dev
macOS flutter build macos --release macOS + Xcode

Docker 构建(Linux / Web)

docker run --rm -v $PWD:/app -w /app ghcr.io/cirruslabs/flutter:3.27 \
  sh -c "flutter pub get && flutter build web --release"

🤖 AI 技术一览

游戏 AI 算法 搜索深度 说明
国际象棋 (云) LiChess Cloud Eval (StockFish) depth 20+ 云端分析,免费无需注册
国际象棋 (本地) Alpha-Beta + 历史启发 + 杀手走法 4 无网络自动回退
中国象棋 Alpha-Beta + 空着搜索 + 将军延伸 5 MVV-LVA 走法排序
围棋 四层混合启发式引擎 基础评估 + 形状连接 + 领地判断 + 危机反应
中国跳棋 启发式评估 + 贪心搜索 距离收益 + 跳跃奖励 + 入营策略
五子棋 棋型评分 + 启发式搜索 连五/活四/冲四/活三 多维评分
井字棋 Minimax 全部 必不败策略
斗地主 手牌分析 + 出牌策略 叫地主 / 拆牌 / 顶牌 AI
德州扑克 牌型评估 + 下注决策 7选5 最优组合
UNO 智能出牌策略 功能牌优先级
蜘蛛纸牌 纯操作,无 AI 对手

📄 项目结构

Chess-Flutter/
├── lib/                              # Dart 源码(100% 跨平台)
│   ├── main.dart                     # 应用入口
│   ├── themes/                       # 主题系统(日夜模式)
│   ├── models/                       # 状态管理(日志/主题/引擎)
│   ├── pages/                        # UI 页面
│   │   ├── menu_page.dart            # 主菜单
│   │   ├── mode_page.dart            # 模式选择
│   │   ├── game_shell.dart           # 共享游戏容器组件
│   │   ├── game_page.dart            # 五子棋 / 井字棋
│   │   ├── cc_game_page.dart         # 中国象棋
│   │   ├── ic_game_page.dart         # 国际象棋(含 LiChess 云端)
│   │   ├── go_game_page.dart         # 围棋
│   │   ├── cc_checkers_game_page.dart  # 中国跳棋
│   │   ├── poker_game_page.dart      # 扑克
│   │   ├── uno_game_page.dart        # UNO
│   │   ├── spider_game_page.dart     # 蜘蛛纸牌
│   │   ├── doudizhu_game_page.dart   # 斗地主
│   │   └── tutorial_page.dart        # 教程页
│   ├── {gobang,tictactoe,...}/        # 各游戏逻辑 + AI
│   ├── widgets/                      # 通用 UI 组件
│   └── third_party/                  # 第三方移植组件
├── android/                          # Android 原生层
├── ios/                              # iOS 原生层
├── web/                              # Web PWA 配置
├── windows/                          # Windows 原生层
├── linux/                            # Linux 原生层
├── macos/                            # macOS 原生层
├── test/                             # 单元测试
├── scripts/                          # 构建脚本
└── .github/workflows/                # CI/CD(6 平台自动构建)

🤝 贡献

欢迎 Issue 和 PR!无论是新游戏、AI 改进、UI 优化还是文档修正。

# 1. Fork 本仓库
# 2. 创建特性分支
git checkout -b feat/my-feature

# 3. 确保代码通过分析
flutter analyze

# 4. 提交
git commit -m 'feat: add my feature'
git push origin feat/my-feature

# 5. 创建 Pull Request

📜 许可证

MIT License © 2026 JasonLeoZhou


GitHub Issues 在线游玩 Releases

Made with ❤️, ☕, and Flutter

About

♔ 弈 — 多合一棋牌游戏:五子棋/井字棋/中国象棋/国际象棋/围棋/斗地主/德州扑克/UNO/蜘蛛纸牌/换牌扑克 · 内置AI·日夜主题·Flutter

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages