Skip to content

1ming-ir/2048

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 2048 Game - Flutter 跨平台游戏

一个使用 Flutter 开发的精美跨平台 2048 游戏

Flutter Dart License

English | 简体中文


✨ 功能特性

🎯 游戏功能

  • 经典玩法 - 原汁原味的 2048 游戏体验
  • 流畅动画 - 精心设计的移动和合并动画
  • 自动保存 - 游戏进度实时保存,随时恢复
  • 分数记录 - 自动保存最高分记录
  • 胜利提示 - 达到 2048 后可选择继续挑战

🎨 界面设计

  • 🎨 精美的视觉设计
  • 🌈 渐变色彩方案
  • 📱 完美响应式布局(三级适配:桌面/移动/小屏)
  • 🎭 清晰的游戏状态提示
  • 📐 智能尺寸调整(小屏幕自动优化)

🕹️ 操作方式

  • ⌨️ 键盘控制 - 方向键 / WASD
  • 👆 触摸操作 - 滑动手势
  • 🖱️ 鼠标操作 - 点击和拖拽
  • 📱 虚拟按钮 - 移动端专用控制按钮

🌐 跨平台支持

  • 🌍 Web - 支持所有现代浏览器
  • 🪟 Windows - 原生桌面应用
  • 🍎 macOS - 原生桌面应用
  • 🐧 Linux - 原生桌面应用
  • 📱 Android - 移动应用
  • 📱 iOS - 移动应用

🎮 游戏规则

规则 说明
移动 使用方向键或滑动屏幕移动所有方块
合并 相同数字的方块相遇时合并成两倍数字
得分 合并后的数字会加到总分上
新方块 每次移动后随机生成一个新方块(2 或 4)
胜利 达到 2048 即获胜(可选择继续游戏)
失败 棋盘填满且无法移动时游戏结束

🚀 快速开始

方法一:使用脚本运行(推荐 Windows 用户)

# 直接运行
run.bat

# 构建发布版本
build.bat

方法二:命令行运行

# 1. 安装依赖
flutter pub get

# 2. 运行游戏(选择你的平台)
flutter run -d chrome        # 🌐 Web 浏览器
flutter run -d windows       # 🪟 Windows 桌面
flutter run -d android       # 📱 Android 设备

# 3. 查看所有可用设备
flutter devices

📦 构建发布版本

Web 版本

flutter build web --release
# 输出: build/web/

桌面版本

# Windows
flutter build windows --release

# macOS
flutter build macos --release

# Linux
flutter build linux --release

移动版本

# Android APK(推荐使用脚本)
build_apk.bat               # Windows 用户
flutter build apk --release # 手动构建

# Android App Bundle
flutter build appbundle --release

# iOS
flutter build ios --release

APK 输出位置: build/app/outputs/flutter-apk/app-release.apk


📁 项目结构

2048/
├── lib/                          # 源代码
│   ├── main.dart                 # 应用入口
│   ├── models/                   # 数据模型
│   │   ├── tile_model.dart       # 方块模型
│   │   └── board_model.dart      # 棋盘模型
│   ├── providers/                # 状态管理
│   │   └── game_provider.dart    # 游戏状态
│   ├── screens/                  # 页面
│   │   └── game_screen.dart      # 游戏主页面
│   └── widgets/                  # 自定义组件
│       ├── game_board.dart       # 游戏棋盘
│       ├── tile_widget.dart      # 方块组件
│       ├── score_board.dart      # 分数显示
│       ├── game_over_overlay.dart # 游戏结束提示
│       └── win_overlay.dart      # 胜利提示
├── web/                          # Web 资源
│   ├── index.html                # HTML 入口
│   ├── manifest.json             # PWA 配置
│   └── icons/                    # 图标
├── pubspec.yaml                  # 项目配置
├── run.bat                       # 快速运行脚本
├── build.bat                     # 构建脚本
├── README.md                     # 项目说明(本文件)
├── QUICK_START.md                # 快速开始指南
├── USER_GUIDE.md                 # 用户使用指南
├── DEVELOPMENT.md                # 开发文档
└── PROJECT_SUMMARY.md            # 项目总结

🛠️ 技术栈

核心技术

  • Flutter 3.24+ - UI 框架
  • Dart 3.0+ - 编程语言

主要依赖

  • provider ^6.1.1 - 状态管理
  • shared_preferences ^2.2.2 - 本地存储

开发工具

  • flutter_lints ^3.0.0 - 代码规范检查

📖 文档指南

文档 说明
QUICK_START.md 🚀 快速上手指南
USER_GUIDE.md 📚 详细用户手册
DEVELOPMENT.md 👨‍💻 开发者文档
PROJECT_SUMMARY.md 📊 项目总结报告
ANDROID_BUILD_GUIDE.md 📦 Android 打包指南
MOBILE_OPTIMIZATION.md 📱 移动端优化说明

🎯 游戏截图

游戏运行后,你将看到:

  • 🎨 美观的 4×4 游戏棋盘
  • 📊 实时分数和最高分显示
  • 🎮 流畅的方块移动动画
  • ✨ 精致的合并特效
  • 🏆 胜利和失败提示

💡 游戏技巧

初级技巧

  1. 保持最大数字在角落 - 选择一个角落放置最大数字
  2. 主要使用两个方向 - 例如只用左和下
  3. 不要随意移动 - 每一步都要深思熟虑

进阶策略

  1. 建立数字序列 - 按 2→4→8→16 的顺序排列
  2. 蛇形排列法 - 第一行递减,第二行递增
  3. 保留移动空间 - 避免棋盘过早填满

🔧 开发环境

前置要求

  • Flutter SDK 3.0+
  • Dart SDK 3.0+
  • IDE: VS Code / Android Studio / IntelliJ IDEA
  • 浏览器: Chrome(用于 Web 调试)

代码质量

# 代码分析
flutter analyze

# 代码格式化
flutter format lib/

# 运行测试
flutter test

📝 开发日志

  • 2024-11-14 - 项目创建
  • ✅ 实现核心游戏逻辑
  • ✅ 完成 UI 界面设计
  • ✅ 添加动画效果
  • ✅ 实现数据持久化
  • ✅ 跨平台适配
  • ✅ 代码优化(0 Lint 错误)
  • ✅ 完整文档编写

🌟 特色亮点

  1. 💯 完整功能 - 包含完整的游戏逻辑和数据保存
  2. 🎨 精美设计 - 专业的 UI/UX 设计
  3. ⚡ 高性能 - 60fps 流畅动画
  4. 📱 真跨平台 - 一套代码,六个平台运行
  5. 📚 完善文档 - 详细的使用和开发文档
  6. 🔧 易扩展 - 清晰的代码架构,便于二次开发

🚀 未来计划

  • 撤销功能
  • 多种棋盘尺寸(3×3、5×5、6×6)
  • 主题切换(深色模式、多种配色)
  • 音效和背景音乐
  • 成就系统
  • 在线排行榜
  • 多人对战模式
  • 每日挑战

🤝 贡献

欢迎贡献代码、报告问题或提出建议!

  1. Fork 本项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 提交 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。


👨‍💻 作者

由 AI 辅助开发,使用 Flutter 构建。


🙏 致谢

  • 感谢 Flutter 团队提供优秀的跨平台框架
  • 感谢原创 2048 游戏的设计灵感
  • 感谢所有开源贡献者

📞 联系方式

如有问题或建议,欢迎:

  • 📧 提交 Issue
  • 💬 发起 Discussion
  • ⭐ 给项目点个 Star

🎮 开始游戏,挑战 2048!

Made with ❤️ using Flutter

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published