A block puzzle game for Android built with Kotlin and Jetpack Compose.
There are no ads, no data collection, no in-app purchases. Runs without an internet connection.
- Drag and drop block shapes onto an 8x8 grid
- Clear rows and columns to score points
- Score popups and confetti effects
- High score tracking with DataStore persistence
- Settings screen with customizable options
- Splash screen overlay
- Language: Kotlin
- UI: Jetpack Compose (no XML layouts)
- State Management: ViewModel + Compose state
- Persistence: DataStore Preferences
- Min SDK: See
app/build.gradle.kts - Build System: Gradle with version catalog
app/src/main/java/com/blockpuzzle/
├── data/ # Repositories (high scores, settings)
├── logic/ # Game engine
├── model/ # Data classes (shapes, cells, game state)
├── ui/
│ ├── components/ # Reusable UI components (grid, score bar, shape previews)
│ ├── screens/ # Full screens and overlays
│ └── theme/ # Colors, typography, theming
└── viewmodel/ # Game ViewModel
- Clone the repository
- Open in Android Studio
- Sync Gradle and run on an emulator or device
Or from the command line:
./gradlew assembleDebug./gradlew testicon_gen.py— Python script to generate the app icon vector drawable