**Zoo Crush — Swipe, Match, Rescue**
Zoo Crush is a lightweight animal-themed match-3 puzzle built for short, replayable sessions. The core loop is simple: swipe to swap neighboring animals, form lines of 3 or more, rescue animals, and chain cascades for bigger combos before you run out of moves or time.
**Gameplay**
- A 7×7 board with 6 animal friends is the main play field
- Swapping two adjacent animals forms matches of 3 or more
- Each clear rescues animals and adds score
- Cascading drops and refills can trigger combo chains with bonus scoring
- A run ends when the rescue goal is reached or moves/time run out
**Goals & Limits**
- Default move limit of 30 per run
- Optional countdown timer of 180 seconds (toggle in Settings)
- Rescue goal of 24 animals to win the level
- Dead boards auto-normalize so a valid move always exists
**Assist Systems**
- Hint: highlights a strong move (rewarded ad)
- Shuffle: reshuffles the board once (rewarded ad)
- Undo: reverts the last move, limited free uses per run
- Rewarded ads can unlock Hint and Shuffle when you are stuck
**Player Feedback**
- Smooth tile movement, spawn, and swap animations
- Combo pop, score bump, and timer warning effects
- Invalid-move shake and dead-board prompts
- Haptic feedback follows the vibration setting
**Pages & Navigation**
- SplashActivity
- HomeActivity
- GameActivity
- HowToPlayActivity
- HistoryActivity
- StatisticsActivity
- AchievementsActivity
- SettingsActivity
- Secondary pages return to home, and the home page uses double-back to exit
**UX Notes**
- Pure multi-Activity navigation, no bottom tab structure
- Custom title bar on secondary pages
- Edge-to-edge adaptation for status bar and bottom system area
- Pause stops the timer and board interaction; backgrounding auto-pauses
**Ad Integration**
- TradPlus SDK integrated through an independent module
- Rewarded ads: Hint and Shuffle boosts
- Interstitial ads: game-over and game-exit transitions
- Undo is a free per-run boost and does not require ads
- Ad unit IDs are injected via local secrets; GDPR collection is consent-gated
**Technical Notes**
- Kotlin
- XML Layout
- ViewBinding
- MVVM-style state management (LiveData + ViewModel)
- Multi-Activity architecture
- Room persistence for history, statistics, and achievements
- SharedPreferences persistence for settings
- Java 17
- minSdk 26 / targetSdk 36 / compileSdk 36
- Android 16KB memory page alignment
- Release signing configured with local keystore and minify disabled