一个使用 Flutter 开发的跨平台俄罗斯方块游戏。
- ✅ 7种经典俄罗斯方块类型 (I, O, T, S, Z, J, L)
- ✅ 方块旋转与移动
- ✅ 行消除系统
- ✅ 分数计算
- ✅ 等级系统(随等级提升速度加快)
- ✅ 游戏暂停/继续
- ✅ 游戏重新开始
- ←/→: 左右移动方块
- ↓: 加速下落
- ↑/W: 旋转方块
- Space: 硬降落(直接降到底部)
- P: 暂停/继续游戏
- R: 重新开始游戏
- 屏幕按钮控制(适用于移动设备)
- 消除1行: 100分 × 当前等级
- 消除2行: 300分 × 当前等级
- 消除3行: 500分 × 当前等级
- 消除4行: 800分 × 当前等级
- 每消除10行提升一个等级
- Flutter: 3.0+
- 状态管理: Provider
- 平台支持: Android, iOS, Web, Windows, macOS, Linux
lib/
├── main.dart # 应用入口
├── models/ # 数据模型
│ ├── game_state.dart # 游戏状态管理
│ └── tetromino.dart # 方块定义
├── screens/ # 页面
│ └── game_screen.dart # 游戏主页面
└── widgets/ # UI组件
├── game_board.dart # 游戏板
├── game_controls.dart # 游戏控制
├── game_info.dart # 游戏信息显示
└── next_piece_preview.dart # 下一个方块预览
- Flutter SDK (>=3.0.0)
- Dart SDK (>=3.0.0)
- 克隆项目
git clone <repository-url>
cd tetris- 安装依赖
flutter pub get- 运行项目
# Android/iOS
flutter run
# Web
flutter run -d chrome
# Windows
flutter run -d windows
# macOS
flutter run -d macos
# Linux
flutter run -d linux# Android APK
flutter build apk --release
# iOS
flutter build ios --release
# Web
flutter build web --release
# Windows
flutter build windows --release
# macOS
flutter build macos --release
# Linux
flutter build linux --release- 标准10×20网格
- 方块从顶部生成
- 到达顶部游戏结束
每种方块都有独特的颜色和形状:
- I型 (青色): 直线形状
- O型 (黄色): 正方形
- T型 (紫色): T字形
- S型 (绿色): S字形
- Z型 (红色): Z字形
- J型 (蓝色): J字形
- L型 (橙色): L字形
- 方块自动下落,速度随等级提升
- 可以左右移动、旋转方块
- 整行填满后自动消除
- 实现墙踢(Wall Kick)机制,旋转时自动调整位置
游戏支持多种屏幕尺寸:
- 宽屏模式 (>600px): 左中右三列布局,信息和控制分别在两侧
- 窄屏模式 (≤600px): 上中下布局,适合手机竖屏使用
Created with ❤️ using Flutter
MIT License