Avia Tor — a fast aviation‑themed quiz where every second counts.
Answer 10 mixed questions in a row. You have 10 seconds per question and up to 3 mistakes per run. Each correct answer gives +1 point. Timeouts count as mistakes. Reach the end or run out of lives — then see your results and try again to beat your best!
Features
• Game flow: Splash → Menu → Rules → 3‑2‑1 Countdown → Quiz → Game Over → Scoreboard
• 10 questions per run, 10 seconds per question
• Up to 3 mistakes allowed (wrong or timed‑out answers)
• Score +1 for each correct answer
• Questions include an image + four answer options
• Animated countdown “3‑2‑1‑GO!”, progress bar and color alerts (yellow ≤7s, red ≤3s)
• Sound effects (correct, wrong, game over, click) and background music; toggle sound in Menu
• Best score + cumulative stats saved locally (DataStore): total games, correct & wrong answers
• Clean, animated UI built with Jetpack Compose
How to Play
1) Start the app → read the rules
2) Watch the countdown
3) Read the question and choose 1 of 4 answers before time runs out
4) Survive all 10 questions or the run ends on the 3rd mistake
5) See your result, best score, and try again!
Game functionality:
- Screens:
• Splash — animated logo; prepares app.
• Menu — “New Game”, “Scoreboard”, sound on/off (persists).
• Pre‑Game (Rules) — explains mechanics: 10s per question, 3 mistakes.
• Countdown — animated 3‑2‑1‑GO.
• Quiz — shows:
– Top stats card: current question X/10, score, mistakes (lives), timer.
– Image for the question (from resources).
– Question text and 4 tappable answers.
– Visual feedback on selection; timeout counts as a mistake.
• Game Over — final score, best score, retry / main menu.
• Scoreboard — best score + accumulated stats from DataStore.
- Logic:
• Questions repository returns a random set of 10 questions per run.
• Each question has 4 options and 1 correct index; categories like Geography, History, Science, Sports, etc.
• Timer starts from 10s on each question; at 7s the timer color turns yellow; at 3s it turns red and scales.
• On 3 mistakes → end game with reason TOO_MANY_MISTAKES.
• On finishing all questions → end game with reason ALL_QUESTIONS.
• Sounds play on answer click / correct / wrong / game over (respecting the sound toggle).
Web section (inside the app):
- Separate WebView flow in MainActivity for opening a remote endpoint with parameters.
- URL is assembled without encoding so nested referrers (with utm_*) are visible:
adId, refer, frbToken, package → appended as query params.
- Safe external routing for non‑http links (tel:, mailto:, market:, intent:, WhatsApp, Telegram, Viber, Skype, etc.).
- File chooser handling for uploads when required; notification permission request; install‑referrer connection.
Tech stack:
• Kotlin, Jetpack Compose, Navigation
• DataStore (preferences) for score and settings
• ViewModel + StateFlow for game state
• MediaPlayer for sound effects & background music
• WebView + custom URL router and URL builder
• Target/Compile SDK: 36; Min SDK: 24