Nachbesserungen aus der Gesamtprüfung von M1d

Das Lebensmoos bekommt links und rechts Platz für seinen Umriss, der
bei zwei von drei Formen abgeschnitten war; die Bilder der Vitrine sind
neu aufgenommen. Die Pausenanzeige kehrt zurück, wenn eine Meldung
während der Pause abläuft. Ein Test prüft die Splitter fremder
Schläge, und der Test ohne Bilderordner hängt nicht mehr davon ab, was
in res://art liegt. Der Fragebogen nennt die Felsproben und sagt, was
sofort kommt und was erst mit der Antwort des Hosts.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
Steven Wroblewski
2026-10-02 14:36:43 +02:00
parent e53d296080
commit 417cf30a9c
10 changed files with 53 additions and 11 deletions
+6 -5
View File
@@ -573,14 +573,15 @@ func _moss(canvas: CanvasItem, rect: Rect2, state: Dictionary) -> void:
var variant: int = state.get("variant", 0) % 3
var twinkle := int(float(state.get("time", 0.0)) * 2.5) % 4
var foot := Vector2(rect.get_center().x, rect.end.y)
_put(canvas, _image("moss/%d/%d" % [variant, twinkle], func() -> Pixels: return _moss_image(variant, twinkle)), foot - Vector2(8, 13))
_put(canvas, _image("moss/%d/%d" % [variant, twinkle], func() -> Pixels: return _moss_image(variant, twinkle)), foot - Vector2(10, 13))
## A cushion of moss whose spores twinkle one after another.
## A cushion of moss whose spores twinkle one after another, with room on
## both sides for its outline.
func _moss_image(variant: int, twinkle: int) -> Pixels:
var pixels := Pixels.new(TILE, 13)
var pixels := Pixels.new(TILE + 2, 13)
var shift := variant - 1
for bump: Vector4 in [Vector4(4.5 + shift, 9.5, 4, 3.2), Vector4(11, 9.2, 4.3, 3.5), Vector4(7.8 - shift, 6.8, 3.8, 3.4)]:
for bump: Vector4 in [Vector4(6.5 + shift, 9.5, 4, 3.2), Vector4(13, 9.2, 4.3, 3.5), Vector4(9.8 - shift, 6.8, 3.8, 3.4)]:
pixels.ellipse(bump.x, bump.y, bump.z, bump.w, _c("moss"))
for y in pixels.size.y:
for x in pixels.size.x:
@@ -591,7 +592,7 @@ func _moss_image(variant: int, twinkle: int) -> Pixels:
elif not pixels.filled(x, y - 1) or not pixels.filled(x, y - 2):
pixels.put(x, y, _c("moss_light"))
pixels.outline(_ink(_c("moss")), tinted_outlines)
var spores: Array[Vector2i] = [Vector2i(4 + shift, 8), Vector2i(8 - shift, 5), Vector2i(12, 8)]
var spores: Array[Vector2i] = [Vector2i(6 + shift, 8), Vector2i(10 - shift, 5), Vector2i(14, 8)]
for index in spores.size():
var at := spores[index]
var bright := index == twinkle
+5 -2
View File
@@ -10,6 +10,7 @@ var _message := Label.new()
var _status := Label.new()
var _help := Label.new()
var _message_left := 0.0
var _paused := false
func _ready() -> void:
@@ -34,7 +35,7 @@ func _process(delta: float) -> void:
return
_message_left -= delta
if _message_left <= 0.0:
_message.text = ""
_message.text = tr("PAUSED") if _paused else ""
func show_stone(count: int) -> void:
@@ -48,8 +49,10 @@ func flash(key: String, values: Array = []) -> void:
_message_left = MESSAGE_SECONDS
## Shows or hides the pause notice. It stays until the game continues.
## Shows or hides the pause notice. It stays until the game continues and
## returns when a message shown in between ends.
func show_paused(paused: bool) -> void:
_paused = paused
_message.text = tr("PAUSED") if paused else ""
_message_left = 0.0