一个使用Flutter开发的全平台游戏合集应用,包含多个经典小游戏。
- 🎮 多款经典游戏(贪吃蛇、俄罗斯方块、乒乓球等)
- 📱 全平台支持(iOS、Android、Web、Windows、macOS、Linux)
- 🎨 现代化UI设计,支持深色/浅色主题
- 🔊 音效和背景音乐支持
- 💾 本地数据存储(游戏设置、最高分等)
- 🎯 游戏难度分级
- Flutter - 跨平台UI框架
- Flame - 2D游戏引擎
- GetX - 状态管理和路由(高性能一体化解决方案)
- SharedPreferences - 本地存储
- AudioPlayers - 音频播放
lib/
├── main.dart # 应用入口
├── models/ # 数据模型
│ └── game_model.dart
├── controllers/ # 状态管理(GetX)
│ ├── game_controller.dart
│ └── settings_controller.dart
├── routes/ # 路由配置(GetX)
│ └── app_pages.dart
├── screens/ # 页面
│ ├── home_screen.dart
│ ├── game_list_screen.dart
│ ├── game_detail_screen.dart
│ └── settings_screen.dart
├── widgets/ # 通用组件
│ └── game_card.dart
└── games/ # 游戏实现
├── base_game_widget.dart
└── snake/
├── snake_game.dart
└── snake_game_engine.dart
- Flutter SDK (>=3.0.0)
- Dart SDK
- 开发环境(Android Studio / VS Code / Xcode等)
- 克隆项目
git clone <repository-url>
cd Snake- 安装依赖
flutter pub get- 运行项目
# 运行在默认设备
flutter run
# 运行在特定平台
flutter run -d chrome # Web
flutter run -d windows # Windows
flutter run -d macos # macOS
flutter run -d linux # Linux- 在
lib/games/目录下创建游戏文件夹 - 实现游戏引擎(继承Flame的Game类)
- 创建游戏Widget(继承BaseGameWidget)
- 在
game_controller.dart中添加游戏信息 - 在
game_detail_screen.dart中添加路由
// 1. 创建游戏引擎
class MyGameEngine extends FlameGame {
// 实现游戏逻辑
}
// 2. 创建游戏Widget
class MyGameWidget extends BaseGameWidget {
@override
Widget build(BuildContext context) {
return GameWidget<MyGameEngine>.controlled(
gameFactory: () => MyGameEngine(),
);
}
}- ✅ Android
- ✅ iOS
- ✅ Web
- ✅ Windows
- ✅ macOS
- ✅ Linux
- 更多游戏(俄罗斯方块、乒乓球等)
- 游戏排行榜
- 成就系统
- 游戏存档
- 在线多人游戏
- 游戏教程
查看 LICENSE 文件了解详情。
欢迎提交Issue和Pull Request!