feat: UNO Kotlin Multiplatform app (Android, Desktop, Web)

- Full UNO game logic with AI opponents
- Compose Multiplatform UI with animations
- Shared module (commonMain) with game engine
- Desktop app (Compose Desktop)
- Android app (Compose Multiplatform)
- Web app (Kotlin/Wasm)
- Nix shell for reproducible dev environment
This commit is contained in:
2026-08-02 18:21:57 +02:00
commit 786b813f7b
25 changed files with 2093 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
[versions]
agp = "8.7.3"
kotlin = "2.1.0"
compose-multiplatform = "1.7.3"
kotlinx-serialization = "1.7.3"
kotlinx-coroutines = "1.9.0"
[libraries]
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" }
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" }
androidx-activity-compose = { module = "androidx.activity:activity-compose", version = "1.9.3" }
compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "compose-multiplatform" }
[plugins]
kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
composeMultiplatform = { id = "org.jetbrains.compose", version.ref = "compose-multiplatform" }
composeCompiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
androidApplication = { id = "com.android.application", version.ref = "agp" }
androidLibrary = { id = "com.android.library", version.ref = "agp" }
kotlinSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
Binary file not shown.
+7
View File
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.4-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists