From f4f53a93b6a175757d2b32f0775b118b968dd1dc Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 29 Oct 2026 16:03:31 +0000 Subject: [PATCH] Katan: show barbarian strip and improvement levels in the wide HUD Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_01S8evMuUxrft6TQj6NdAoqQ --- .../prolibertate/games/ui/game/catan/CatanHud.kt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/src/main/java/org/prolibertate/games/ui/game/catan/CatanHud.kt b/app/src/main/java/org/prolibertate/games/ui/game/catan/CatanHud.kt index 922494a..933980c 100644 --- a/app/src/main/java/org/prolibertate/games/ui/game/catan/CatanHud.kt +++ b/app/src/main/java/org/prolibertate/games/ui/game/catan/CatanHud.kt @@ -313,6 +313,10 @@ fun CatanHud( ) { Column(Modifier.fillMaxSize(), verticalArrangement = Arrangement.spacedBy(2.dp)) { HudPlayerStrip(state, seats, pointsOf, style) + // Cities & Knights: the ship and the improvement levels are as much part + // of the game as the scores, so they sit with them rather than in a panel + // this layout does not have room for. + if (state.isCk) CatanBarbarians(state, Modifier.padding(horizontal = 8.dp), style) Box(Modifier.weight(1f).fillMaxWidth()) { // The island fills the whole area; controls float over its sea margin. ZoomPanBox(Modifier.fillMaxSize().padding(start = 64.dp, end = 64.dp, top = 30.dp, bottom = 44.dp)) { @@ -453,6 +457,16 @@ private fun HudPlayerStrip( Modifier.size(14.dp).clip(CircleShape).background(style.seats[seat]).border(1.dp, style.pieceOutline, CircleShape), ) Text(seats.label(seat), fontSize = 12.sp, fontWeight = FontWeight.Bold, maxLines = 1, modifier = Modifier.weight(1f)) + // Trade, politics, science: the three improvement levels. + if (state.isCk) { + Text( + text = org.prolibertate.games.game.catan.Track.entries.joinToString(" ") { + "${it.name.first()}${org.prolibertate.games.game.catan.CatanCk.improvement(state, seat, it)}" + }, + fontSize = 12.sp, + maxLines = 1, + ) + } Text("${pointsOf(seat)} VP · ${state.resourceCount(seat)}🂠", fontSize = 12.sp, maxLines = 1) } } -- 2.47.3