Periodische Ausführung von Befehlen
#every <n> <b> { <Befehl1> [: <Befehl2> [: ...]] }
Dieser Metabefehl baut alle n Vorlagen, beginnend nach b Vorlagen, die Befehle in die Zugvorlage ein. Dazu wird b verringert und wenn es dabei Vorlagenerstellung auf 0 sinkt, die Befehle eingefügt, sowie b auf n gesetzt. Also bedeutet wie bei #after eine 1 das die Befehlsliste in der nächsten Vorlage zum Zuge kommt.
In Unterprogrammen darf b nur ein Übergabeparameter sein, da sonst keine Inkrementierung erfolgen kann.
n | Gibt an, alle wieviel Runden die Befehle ausgeführt werden sollen. |
b | Bestimmt, wann das nächste mal die Befehle ausgefürt werden. (1=nächste Vorlage) |
In diesem Beispiel soll ein Magier jeden zweiten Monat einen Hain der 1000-jaehrigen Eichen erschaffen, den anderen Monat soll er Magie lernen. Eine Eintreibereinheit soll ihn (ohne Silberpool) mit Geld versorgen:
EINHEIT bar; Rumburak [1,310$] hinten
// Es werden '| und |' statt Anführungszeichen benutzt weil
// in //-Kommentaren keine Anführungszeichen erlaubt sind.
// #every 2 1 { ZAUBERE '|Hain der 1000 jaehrigen Eichen|' }
// #every 2 2 { LERNE Magie }
; für die erste Runde (die des Eingebens) Lerne
LERNE Magie
EINHEIT geld; Die Rumtreiber [10,830$] hinten
// #every 2 1 { GIB bar 60 Silber }
// #every 2 2 { GIB bar 210 Silber }
// #forever { TREIBE }
; Geld für's erste Lernen (und futtern ;-))
GIB bar 210 Silber
TREIBE
Ergibt nach einer Auswertung in der nächsten Vorlage:
EINHEIT bar; Rumburak [1,110$] hinten
// Es werden '| und |' statt Anführungszeichen benutzt weil
// in //-Kommentaren keine Anführungszeichen erlaubt sind.
// #every 2 2 { ZAUBERE '|Hain der 1000 jaehrigen Eichen|' }
// #every 2 1 { LERNE Magie }
ZAUBERE "Hain der 1000 jaehrigen Eichen"
EINHEIT geld; Die Rumtreiber [10,1320$] hinten
// #every 2 2 { GIB bar 60 Silber }
// #every 2 1 { GIB bar 210 Silber }
// #forever { TREIBE }
GIB bar 60 Silber
TREIBE
#after, #next Revision 18 Nov 2004
|