update
Some checks are pending
Tests / headless (push) Waiting to run
Tests / fenster-schnell (push) Waiting to run
Tests / fenster-voll (push) Waiting to run
Tests / balance (push) Waiting to run

This commit is contained in:
team3
2026-10-13 15:39:55 +02:00
parent b91f475a6e
commit f2c609a08b
25 changed files with 1338 additions and 776 deletions

View File

@@ -8,7 +8,7 @@ const B_UNDO := Rect2(20, 10, 210, 32) # links oben: Rückgängig, d
const B_SKIP := Rect2(20, 48, 210, 32)
const OPP_DECK := Rect2(1090, 10, 130, 182) # Stapel des Gegners rechts oben
const OPP_BOX := Rect2(1050, 200, 210, 70) # Kasten des Gegners darunter
const OPP_HAND_Y := 11
const OPP_HAND_Y := 22 # Bogen hebt die äußeren Rückseiten um bis zu 12 Pixel
const OPP_ELEMENTS := Rect2(20, 220, 210, 128) # Elementzähler des Gegners, links von seinem Brett
const OWN_ELEMENTS := Rect2(20, 440, 210, 128) # eigene Elementzähler, links vom eigenen Brett
const INFO := Rect2(20, 580, 210, 60) # Zusatzzeile zur Vorschau
@@ -16,11 +16,11 @@ const MSG := Rect2(20, 650, 210, 80) # Meldungen
const STATUS := Rect2(1050, 526, 210, 70) # eigener Kasten rechts über dem Stapel
const DECK := Rect2(1090, 606, 130, 182) # eigener Stapel rechts unten
const OPTIONS := Rect2(440, 180, 400, 420) # Optionsmenü (Esc)
const OWN_X := 345
const HAND_W := 110 # Handkarten so groß wie die Wesen auf dem Feld
const HAND_H := 140
const HAND_GAP := 10
const HAND_Y := 610
const OWN_X := 295
const HAND_W := 130 # Handkarten so groß wie die Wesen auf dem Feld
const HAND_H := 165
const HAND_GAP := 6
const HAND_Y := 605
const HAND_ARC := 3.0 # Grad Neigung und Pixel Absenkung je Platz von der Mitte (leichter Bogen)
const LOG_PANEL := Rect2(240, 60, 800, 560)
const PREVIEW_SIZE := Vector2(170, 238)
@@ -29,19 +29,23 @@ const CENTER_W := 800
static func own_slot(j: int) -> Rect2:
return Rect2(OWN_X + j * 120, 440, 110, 140)
return Rect2(OWN_X + j * 140, 410, HAND_W, HAND_H)
## Brett des Gegners über seiner Elementleiste.
static func opp_slot(j: int) -> Rect2:
return Rect2(OWN_X + j * 120, 220, 110, 140)
return Rect2(OWN_X + j * 140, 205, HAND_W, HAND_H)
## Hand: bis zu fünf Karten unten, mittig; den Bogen legt hand_arc dazu.
## Hand: alle Karten unten, mittig; passen sie nicht nebeneinander, überlappen sie sich
## gleichmäßig. Den Bogen legt hand_arc dazu.
static func hand_rect(count: int, i: int) -> Rect2:
var total := count * HAND_W + maxi(0, count - 1) * HAND_GAP
var step: float = HAND_W + HAND_GAP
if count > 1:
step = minf(step, float(CENTER_W - HAND_W) / (count - 1))
var total: float = HAND_W + (count - 1) * step
var x := CENTER_X + (CENTER_W - total) / 2
return Rect2(x + i * (HAND_W + HAND_GAP), HAND_Y, HAND_W, HAND_H)
return Rect2(x + i * step, HAND_Y, HAND_W, HAND_H)
## Hand des Gegners oben, gleich groß, nur die Rückseiten.