This commit is contained in:
team3
2026-09-16 15:04:02 +02:00
parent 3be22351a3
commit b9d6b115c0
23 changed files with 795 additions and 425 deletions

View File

@@ -10,6 +10,7 @@ var current := "main"
# Einzelspieler
var solo_bots: NumberRow
var zurueck_btn: Button ## "Zurück in Raum XY" nach einem Abbruch
var solo_stufe: OptionButton
var lobby_stufe: OptionButton
@@ -62,6 +63,10 @@ func _show(which: String) -> void:
for key: String in screens:
screens[key].visible = key == which
_sagen("")
if which == "main" and zurueck_btn != null:
zurueck_btn.visible = not Net.letzter_raum.is_empty()
if zurueck_btn.visible:
zurueck_btn.text = "Zurück in Raum %s" % Net.letzter_raum.code
if which == "lobby":
_refresh()
@@ -88,6 +93,12 @@ func _text(t: String, size: int, col := Color.WHITE) -> Label:
return l
func _on_wieder_rein() -> void:
_show("join")
_sagen("Verbinde mit Raum %s …" % Net.letzter_raum.get("code", ""))
Net.wieder_rein()
## Leicht, normal, schwer - stellt Bluff-Quote, Genau-Schwelle und Vorsicht
## der Bots ein.
func _stufen_wahl() -> OptionButton:
@@ -170,6 +181,9 @@ func _title(box: VBoxContainer) -> void:
func _build_main() -> Control:
var box := _box(360)
_title(box)
# Nach einem Verbindungsabbruch: derselbe Name, derselbe Code, ein Klick.
zurueck_btn = _button("", box, _on_wieder_rein)
zurueck_btn.visible = false
_button("Einzelspieler", box, _show.bind("single"))
_button("Mehrspieler", box, _show.bind("multi"))
_button("Regeln", box, _show.bind("regeln"))
@@ -191,6 +205,8 @@ func _build_regeln() -> Control:
["Topf", "Geworfene Münzen liegen in der Mitte. Wer das Aufdecken gewinnt, nimmt sie. Mehr als vier passen nicht in den Vorrat; der Rest bleibt liegen. Im Topf liegen höchstens sechs - die älteste fällt vom Tisch."],
["Ende", "Wer keine Würfel mehr hat, schaut zu. Der Letzte gewinnt."],
]
for b in BoosterDB.ALL:
absaetze.append([String(b.name), "%s Wappen: %s" % [b.desc, b.stark]])
for a: Array in absaetze:
var h := HBoxContainer.new()
h.add_theme_constant_override("separation", 12)
@@ -206,7 +222,13 @@ func _build_regeln() -> Control:
h.add_child(t)
box.add_child(h)
_button("Zurück", box, _show.bind("main"))
return box
# Mit den Münzen passt die Seite nicht mehr auf 720 Zeilen: scrollen.
var sc := ScrollContainer.new()
sc.custom_minimum_size = Vector2(720, 560)
sc.horizontal_scroll_mode = ScrollContainer.SCROLL_MODE_DISABLED
box.size_flags_horizontal = Control.SIZE_EXPAND_FILL
sc.add_child(box)
return sc
func _build_single() -> Control: