diff --git a/.gitea/workflows/sonar.yaml b/.gitea/workflows/sonar.yaml index 82c06d1..26fd06d 100644 --- a/.gitea/workflows/sonar.yaml +++ b/.gitea/workflows/sonar.yaml @@ -20,7 +20,7 @@ jobs: uses: actions/setup-java@v4 with: java-version: 21 - distribution: 'temurin' # Alternative distribution options are available. + distribution: 'temurin' - name: Setup Android SDK uses: android-actions/setup-android@v3 - name: Cache SonarQube packages diff --git a/commonUI/src/commonMain/composeResources/values-de/strings.xml b/commonUI/src/commonMain/composeResources/values-de/strings.xml index 734b043..6ba3ac7 100644 --- a/commonUI/src/commonMain/composeResources/values-de/strings.xml +++ b/commonUI/src/commonMain/composeResources/values-de/strings.xml @@ -39,11 +39,11 @@ Milch - Wein - Cocktail + Mate + Wasser Kaffee Tee - Bier + Bubble Tea Sรผssgetrรคnk diff --git a/commonUI/src/commonMain/composeResources/values/strings.xml b/commonUI/src/commonMain/composeResources/values/strings.xml index 927963e..33cc2f7 100644 --- a/commonUI/src/commonMain/composeResources/values/strings.xml +++ b/commonUI/src/commonMain/composeResources/values/strings.xml @@ -39,11 +39,11 @@ Milk - Wine - Cocktail + Mate + Water Coffee Tea - Beer + Bubble Tea Beverage diff --git a/commonUI/src/commonMain/kotlin/ch/dissem/yaep/ui/common/names.kt b/commonUI/src/commonMain/kotlin/ch/dissem/yaep/ui/common/names.kt index 1b21714..7a40b68 100644 --- a/commonUI/src/commonMain/kotlin/ch/dissem/yaep/ui/common/names.kt +++ b/commonUI/src/commonMain/kotlin/ch/dissem/yaep/ui/common/names.kt @@ -13,7 +13,7 @@ import yaep.commonui.generated.resources.Res import yaep.commonui.generated.resources.ant import yaep.commonui.generated.resources.astronaut import yaep.commonui.generated.resources.banana -import yaep.commonui.generated.resources.beer +import yaep.commonui.generated.resources.bubble_tea import yaep.commonui.generated.resources.beverage import yaep.commonui.generated.resources.bicycle import yaep.commonui.generated.resources.british @@ -22,7 +22,7 @@ import yaep.commonui.generated.resources.cake import yaep.commonui.generated.resources.canadian import yaep.commonui.generated.resources.cherries import yaep.commonui.generated.resources.chocolate -import yaep.commonui.generated.resources.cocktail +import yaep.commonui.generated.resources.water import yaep.commonui.generated.resources.coffee import yaep.commonui.generated.resources.cookie import yaep.commonui.generated.resources.cupcake @@ -64,7 +64,7 @@ import yaep.commonui.generated.resources.teacher import yaep.commonui.generated.resources.tram_car import yaep.commonui.generated.resources.ukrainian import yaep.commonui.generated.resources.watermelon -import yaep.commonui.generated.resources.wine +import yaep.commonui.generated.resources.mate import yaep.commonui.generated.resources.zebra val ItemClass<*>.localName: StringResource @@ -80,37 +80,37 @@ val ItemClass<*>.localName: StringResource private val Animal.stringResource: StringResource get() = when (this) { - Animal.ZEBRA -> Res.string.zebra - Animal.OCTOPUS -> Res.string.octopus - Animal.GOAT -> Res.string.goat - Animal.SLOTH -> Res.string.sloth - Animal.DOG -> Res.string.dog - Animal.SNAIL -> Res.string.snail Animal.ANT -> Res.string.ant + Animal.DOG -> Res.string.dog + Animal.GOAT -> Res.string.goat + Animal.OCTOPUS -> Res.string.octopus + Animal.SLOTH -> Res.string.sloth + Animal.SNAIL -> Res.string.snail + Animal.ZEBRA -> Res.string.zebra } private val Dessert.stringResource: StringResource get() = when (this) { - Dessert.ICE_CREAM -> Res.string.ice_cream - Dessert.DOUGHNUT -> Res.string.doughnut - Dessert.COOKIE -> Res.string.cookie Dessert.CAKE -> Res.string.cake - Dessert.CUPCAKE -> Res.string.cupcake - Dessert.PIE -> Res.string.pie Dessert.CHOCOLATE -> Res.string.chocolate - Dessert.LOLLIPOP -> Res.string.lollipop + Dessert.COOKIE -> Res.string.cookie + Dessert.CUPCAKE -> Res.string.cupcake Dessert.CUSTARD -> Res.string.custard + Dessert.DOUGHNUT -> Res.string.doughnut + Dessert.ICE_CREAM -> Res.string.ice_cream + Dessert.LOLLIPOP -> Res.string.lollipop + Dessert.PIE -> Res.string.pie } private val Drink.stringResource: StringResource get() = when (this) { - Drink.MILK -> Res.string.milk - Drink.WINE -> Res.string.wine - Drink.COCKTAIL -> Res.string.cocktail - Drink.COFFEE -> Res.string.coffee - Drink.TEA -> Res.string.tea - Drink.BEER -> Res.string.beer Drink.BEVERAGE -> Res.string.beverage + Drink.BUBBLE_TEA -> Res.string.bubble_tea + Drink.COFFEE -> Res.string.coffee + Drink.MATE -> Res.string.mate + Drink.MILK -> Res.string.milk + Drink.TEA -> Res.string.tea + Drink.WATER -> Res.string.water } private val Fruit.stringResource: StringResource @@ -142,22 +142,22 @@ private val Nationality.stringResource: StringResource private val Profession.stringResource: StringResource get() = when (this) { Profession.ASTRONAUT -> Res.string.astronaut - Profession.HEALTH_WORKER -> Res.string.health_worker Profession.FARMER -> Res.string.farmer + Profession.FIREFIGHTER -> Res.string.firefighter + Profession.HEALTH_WORKER -> Res.string.health_worker Profession.ROCK_STAR -> Res.string.rock_star Profession.SCIENTIST -> Res.string.scientist Profession.SOFTWARE_DEV -> Res.string.software_dev - Profession.FIREFIGHTER -> Res.string.firefighter Profession.TEACHER -> Res.string.teacher } private val Transportation.stringResource: StringResource get() = when (this) { Transportation.BICYCLE -> Res.string.bicycle + Transportation.BUS -> Res.string.bus + Transportation.LOCOMOTIVE -> Res.string.locomotive Transportation.MOTOR_SCOOTER -> Res.string.motor_scooter Transportation.SKATEBOARD -> Res.string.skateboard Transportation.TAXI -> Res.string.taxi - Transportation.LOCOMOTIVE -> Res.string.locomotive Transportation.TRAM_CAR -> Res.string.tram_car - Transportation.BUS -> Res.string.bus } \ No newline at end of file diff --git a/domain/src/commonMain/kotlin/ch/dissem/yaep/domain/items.kt b/domain/src/commonMain/kotlin/ch/dissem/yaep/domain/items.kt index 86a309d..1394ee0 100644 --- a/domain/src/commonMain/kotlin/ch/dissem/yaep/domain/items.kt +++ b/domain/src/commonMain/kotlin/ch/dissem/yaep/domain/items.kt @@ -1,13 +1,13 @@ package ch.dissem.yaep.domain enum class Animal(symbol: String) : ItemClass { - ZEBRA("๐Ÿฆ“"), - OCTOPUS("๐Ÿ™"), - GOAT("๐Ÿ"), - SLOTH("๐Ÿฆฅ"), + ANT("๐Ÿœ"), DOG("๐Ÿ•"), + GOAT("๐Ÿ"), + OCTOPUS("๐Ÿ™"), + SLOTH("๐Ÿฆฅ"), SNAIL("๐ŸŒ"), - ANT("๐Ÿœ"); + ZEBRA("๐Ÿฆ“"); override val symbols: Array = arrayOf(symbol) @@ -20,14 +20,14 @@ enum class Animal(symbol: String) : ItemClass { } enum class Nationality(symbol: String) : ItemClass { - UNITED_KINGDOM("๐Ÿ‡ฌ๐Ÿ‡ง"), - UKRAINE("๐Ÿ‡บ๐Ÿ‡ฆ"), + CANADA("๐Ÿ‡จ๐Ÿ‡ฆ"), + JAPAN("๐Ÿ‡ฏ๐Ÿ‡ต"), + NORWAY("๐Ÿ‡ณ๐Ÿ‡ด"), SPAIN("๐Ÿ‡ช๐Ÿ‡ธ"), SWEDEN("๐Ÿ‡ธ๐Ÿ‡ช"), - NORWAY("๐Ÿ‡ณ๐Ÿ‡ด"), - JAPAN("๐Ÿ‡ฏ๐Ÿ‡ต"), SWITZERLAND("๐Ÿ‡จ๐Ÿ‡ญ"), - CANADA("๐Ÿ‡จ๐Ÿ‡ฆ"); + UNITED_KINGDOM("๐Ÿ‡ฌ๐Ÿ‡ง"), + UKRAINE("๐Ÿ‡บ๐Ÿ‡ฆ"); override val symbols: Array = arrayOf(symbol) @@ -40,13 +40,13 @@ enum class Nationality(symbol: String) : ItemClass { } enum class Drink(symbol: String) : ItemClass { - MILK("๐Ÿฅ›"), - WINE("๐Ÿท"), - COCKTAIL("๐Ÿธ"), + BEVERAGE("๐Ÿงƒ"), + BUBBLE_TEA("๐Ÿง‹"), COFFEE("โ˜•"), + MATE("๐Ÿง‰"), + MILK("๐Ÿฅ›"), TEA("๐Ÿต"), - BEER("๐Ÿบ"), - BEVERAGE("๐Ÿงƒ"); + WATER("๐Ÿฅค"); override val symbols: Array = arrayOf(symbol) @@ -60,12 +60,12 @@ enum class Drink(symbol: String) : ItemClass { enum class Profession(symbol: String) : ItemClass { ASTRONAUT("\u200D\uD83D\uDE80"), - HEALTH_WORKER("\u200Dโš•\uFE0F"), FARMER("\u200D\uD83C\uDF3E"), + FIREFIGHTER("\u200D\uD83D\uDE92"), + HEALTH_WORKER("\u200Dโš•\uFE0F"), ROCK_STAR("\u200D\uD83C\uDFA4"), SCIENTIST("\u200D\uD83D\uDD2C"), SOFTWARE_DEV("\u200D\uD83D\uDCBB"), - FIREFIGHTER("\u200D\uD83D\uDE92"), TEACHER("\u200D\uD83C\uDFEB"); override val symbols: Array = idic(symbol) @@ -79,16 +79,16 @@ enum class Profession(symbol: String) : ItemClass { } enum class Fruit(symbol: String) : ItemClass { - GRAPES("๐Ÿ‡"), - WATERMELON("๐Ÿ‰"), - LEMON("๐Ÿ‹"), BANANA("๐ŸŒ"), - PINEAPPLE("๐Ÿ"), CHERRIES("๐Ÿ’"), - STRAWBERRY("๐Ÿ“"), + GRAPES("๐Ÿ‡"), KIWI("๐Ÿฅ"), + LEMON("๐Ÿ‹"), + MANGO("๐Ÿฅญ"), PEAR("๐Ÿ"), - MANGO("๐Ÿฅญ"); + PINEAPPLE("๐Ÿ"), + STRAWBERRY("๐Ÿ“"), + WATERMELON("๐Ÿ‰"); override val symbols: Array = arrayOf(symbol) @@ -101,15 +101,15 @@ enum class Fruit(symbol: String) : ItemClass { } enum class Dessert(symbol: String) : ItemClass { - ICE_CREAM("๐Ÿจ"), - DOUGHNUT("๐Ÿฉ"), - COOKIE("๐Ÿช"), CAKE("๐Ÿฐ"), - CUPCAKE("๐Ÿง"), - PIE("๐Ÿฅง"), CHOCOLATE("๐Ÿซ"), + COOKIE("๐Ÿช"), + CUPCAKE("๐Ÿง"), + CUSTARD("๐Ÿฎ"), + DOUGHNUT("๐Ÿฉ"), + ICE_CREAM("๐Ÿจ"), LOLLIPOP("๐Ÿญ"), - CUSTARD("๐Ÿฎ"); + PIE("๐Ÿฅง"); override val symbols: Array = arrayOf(symbol) @@ -123,12 +123,12 @@ enum class Dessert(symbol: String) : ItemClass { enum class Transportation(symbol: String) : ItemClass { BICYCLE("๐Ÿšฒ"), + BUS("๐ŸšŒ"), + LOCOMOTIVE("๐Ÿš‚"), MOTOR_SCOOTER("๐Ÿ›ต"), SKATEBOARD("๐Ÿ›น"), TAXI("๐Ÿš•"), - LOCOMOTIVE("๐Ÿš‚"), - TRAM_CAR("๐Ÿš‹"), - BUS("๐ŸšŒ"); + TRAM_CAR("๐Ÿš‹"); override val symbols: Array = arrayOf(symbol) @@ -138,7 +138,6 @@ enum class Transportation(symbol: String) : ItemClass { companion object : ItemClassCompanion { override val items: List = entries } - } private val GENDERS = arrayOf("\uD83E\uDDD1", "\uD83D\uDC68", "\uD83D\uDC69") @@ -151,7 +150,7 @@ private fun idic(symbol: String): Array = Array(GENDERS.size * SKIN_TONE g + t + symbol } -sealed interface ItemClass>: Comparable> { +sealed interface ItemClass> : Comparable> { val symbols: Array val name: String diff --git a/domain/src/commonTest/kotlin/ch/dissem/yaep/domain/GameTest.kt b/domain/src/commonTest/kotlin/ch/dissem/yaep/domain/GameTest.kt index f702475..412b99a 100644 --- a/domain/src/commonTest/kotlin/ch/dissem/yaep/domain/GameTest.kt +++ b/domain/src/commonTest/kotlin/ch/dissem/yaep/domain/GameTest.kt @@ -134,15 +134,8 @@ class GameTest { fun `ensure specific game is solvable`() { val game = Game.parse( """ - ๐Ÿ‘ฉ๐Ÿฟโ€โš•๏ธ๐Ÿ‘จ๐Ÿฝโ€๐ŸŽค๐Ÿ‘ฉ๐Ÿฟโ€โš•๏ธ ๐Ÿ‘ฉ๐Ÿพโ€๐Ÿš€๐Ÿง‘๐Ÿฟโ€๐Ÿซ - ๐Ÿœ๐Ÿ• ๐Ÿ ๐Ÿ - ๐Ÿ‰๐Ÿฅญ๐Ÿ๐Ÿ‡๐Ÿ - ๐Ÿง๐Ÿจ๐Ÿฉ๐Ÿฐ๐Ÿฅง - ๐Ÿ‡จ๐Ÿ‡ญ๐Ÿ‡ฌ๐Ÿ‡ง๐Ÿ‡ฏ๐Ÿ‡ต๐Ÿ‡บ๐Ÿ‡ฆ๐Ÿ‡ฌ๐Ÿ‡ง๐Ÿ‡จ๐Ÿ‡ฆ - ๐Ÿท๐Ÿงƒ๐Ÿบ๐Ÿงƒ - * ZEBRA is between the neighbours PIE and PEAR to both sides - * WINE is at position 0 + * MATE is at position 0 * SLOTH is between the neighbours ZEBRA and COFFEE to both sides * ICE_CREAM is left of MANGO * SWITZERLAND is at position 0 @@ -156,7 +149,7 @@ class GameTest { * SLOTH is between the neighbours CUSTARD and CAKE to both sides * SPAIN is between the neighbours CUSTARD and GRAPES to both sides * SCIENTIST is between the neighbours SNAIL and SLOTH to both sides - * DOG is between the neighbours CUPCAKE and BEER to both sides + * DOG is between the neighbours CUPCAKE and BUBBLE_TEA to both sides * SNAIL is between the neighbours BANANA and GRAPES to both sides * SLOTH is between the neighbours GRAPES and CANADA to both sides * UKRAINE and SCIENTIST are in the same column diff --git a/domain/src/commonTest/resources/games/001.yaep b/domain/src/commonTest/resources/games/001.yaep index a12194e..882bf26 100644 --- a/domain/src/commonTest/resources/games/001.yaep +++ b/domain/src/commonTest/resources/games/001.yaep @@ -1,10 +1,3 @@ -โฌ›โฌ›โฌ›โฌ›โฌ›โฌ› -โฌ›โฌ›โฌ›โฌ›โฌ›โฌ› -โฌ›โฌ›โฌ›โฌ›โฌ›โฌ› -โฌ›โฌ›โฌ›๐Ÿฅงโฌ›โฌ› -โฌ›โฌ›โฌ›โฌ›โฌ›โฌ› -โฌ›โฌ›โฌ›โฌ›โฌ›โฌ› - * CUSTARD is between the neighbours COOKIE and ASTRONAUT to both sides * CHOCOLATE is between the neighbours SKATEBOARD and BEVERAGE to both sides * SWITZERLAND is between the neighbours TEACHER and TAXI to both sides @@ -13,12 +6,12 @@ * MILK is between the neighbours TAXI and BUS to both sides * SNAIL is between the neighbours BEVERAGE and SKATEBOARD to both sides * HEALTH_WORKER is between the neighbours FIREFIGHTER and ASTRONAUT to both sides -* BEER is left of GOAT -* DOG is between the neighbours COCKTAIL and COOKIE to both sides +* BUBBLE_TEA is left of GOAT +* DOG is between the neighbours WATER and COOKIE to both sides * UKRAINE is left of GOAT * TAXI is between the neighbours MOTOR_SCOOTER and MILK to both sides * FIREFIGHTER is left of SWEDEN -* PIE is between the neighbours UNITED_KINGDOM and WINE to both sides +* PIE is between the neighbours UNITED_KINGDOM and MATE to both sides * BEVERAGE is between the neighbours TRAM_CAR and TAXI to both sides * BEVERAGE is left of FIREFIGHTER * ZEBRA and SOFTWARE_DEV are in the same column diff --git a/flatpak/info/ch.dissem.YAEP.metainfo.xml b/flatpak/info/ch.dissem.YAEP.metainfo.xml index b7406c6..a4c3092 100644 --- a/flatpak/info/ch.dissem.YAEP.metainfo.xml +++ b/flatpak/info/ch.dissem.YAEP.metainfo.xml @@ -74,9 +74,7 @@ - - mild - + https://dissem.ch/YAEP/ https://git.dissem.ch/chris/YAEP/issues