"Survival by numbers... or dissolve in digital Aqua Regia."
- Android Studio Flamingo+
- Firebase Project (for real-time multiplayer)
- Kotlin 1.9+
git clone https://github.com/yourusername/king-of-diamonds-android.git
cd king-of-diamonds-android
# Add your firebase config to:
# app/src/main/res/values/secrets.xml
Players | Rule | Code Reference |
---|---|---|
5–4 | Base logic (GameLogic.kt ) |
calculateRound() |
4 | Duplicate check (AntiCheat.kt ) |
validateNumbers() |
3 | Double penalty (PenaltySystem.kt ) |
applySpecialPenalty() |
2 | 0-vs-100 showdown (DuelMode.kt ) |
resolveDuel() |
Code Snippet (Rule Engine):
fun calculateTarget(numbers: List<Int>): Double {
val validNumbers = if (playerCount == 4) filterDuplicates(numbers) else numbers
return validNumbers.average() * 0.8
}
pie
title Layer Breakdown
"UI (Jetpack Compose)" : 35
"Game Logic (Pure Kotlin)" : 40
"Firebase Realtime DB" : 25
Module | Purpose | Symbolic Icon |
---|---|---|
AquaRegiaAnimator |
Tilt animation for elimination | ⚗️ |
NumberValidator |
Detect duplicate/illegal inputs | 🔍 |
LiveMatchmaker |
Firebase-powered multiplayer queues | 🌐 |
journey
title Contribution Path
section For Developers
Fork Repo: 5: AndroidDev
Fix Issue: 4: Contributor
PR Review: 3: Maintainer
section For Designers
UI Mockups: 5: Designer
Animations: 4: Animator
- Report Bugs: File issues with 🐞 emoji + detailed logs
- Improve UI: Enhance Jetpack Compose screens in
ui/
- Optimize Sync: Tackle
FirebaseHelper.kt
latency issues
Style Guide:
- Use
ViewModel
for game state - Prefer
Sealed Classes
for game events - Max 2
Modifier
chains in Compose
gantt
title Android Development Timeline
dateFormat YYYY-MM-DD
section Core
Firebase Integration :done, 2024-01-01, 15d
Rule Engine :active, 2024-02-01, 20d
section Polish
Aqua Regia Tilt Effect :2024-03-01, 10d
Offline Mode :2024-03-15, 14d
MIT License - See LICENSE.
"Modify freely, but credit the alchemists!" 🔥
Built with ❤️ and viewModelScope
by Soham