33 lines
1020 B
GDScript
33 lines
1020 B
GDScript
extends "res://tests/basis.gd"
|
|
## Spielserver im Zeitraffer. Meldet Ende und Endstand, wartet dann noch,
|
|
## damit die Clients ihr Ende selbst sehen.
|
|
|
|
var game: Node
|
|
|
|
|
|
func _ready() -> void:
|
|
Engine.time_scale = 8.0
|
|
var t := 0.0
|
|
var runden := 0
|
|
var letzte := ""
|
|
while t < 4500.0:
|
|
await get_tree().create_timer(0.5).timeout
|
|
t += 0.5
|
|
if game == null:
|
|
game = _find(get_tree().root, "Game")
|
|
continue
|
|
if not is_instance_valid(game) or game.phase == "over":
|
|
break
|
|
if game.phase != letzte:
|
|
letzte = game.phase
|
|
if letzte == "roll":
|
|
runden += 1
|
|
if is_instance_valid(game):
|
|
print("SERVER: Ende %s '%s', Runden=%d" % [game.phase, game.banner, runden])
|
|
for i in game.seats.size():
|
|
print("SERVER: Platz %d %s count=%d alive=%s" % [i, game.seats[i].name, game.seats[i].count, game.seats[i].alive])
|
|
var zurueck: bool = game.log_lines.any(func(z): return "ist zurück" in z)
|
|
print("SERVER: Rückkehr im Protokoll=%s" % zurueck)
|
|
await get_tree().create_timer(80.0).timeout
|
|
get_tree().quit()
|