Bedingte Ausführung von Befehlen
#if <Bedingung> { Befehl1 [: ...] } [#else { Befehl2 [: ...] }]
Dieser Metabefehl ermöglicht es, in Abhängigkeit von einer Bedingung einen Befehlsblock auszuführen oder nicht. Bedingung ist dabei ein Ausdruck der ausgewertet und gegen null verglichen wird. Ist er ungleich null, so wird der direkt auf die Bedingung folgende Block ausgeführt, anderenfalls der einem #else folgende Block, oder wenn dieser nicht existiert nach dem #if in der Ausführung fortgefahren.
Bedingung | Ein Ausdruck der ausgewertet wird und dessen Wert ungleich 0 sein muß damit der Teil im ersten Klammerblock ausgeführt wird. Andernfalls wird nach dem #if oder im Klammerblock des #else fortgefahren. |
Eine Holzfällereinheit soll solange der Baumbestand größer als 650 Bäume ist so viel fällen wie sie kann, sonst weiter lernen:
EINHEIT f00; Die Holzer [5,150$] hinten
// #if region.baeume>650 { MACHE Holz } #else { LERNE Holzfaellen }
; Für die laufende Runde einfach mal von Hand lernen lassen
LERNE Holzfaellen
(Das ist natürlich ein eher schlichtes Holzfällerprogramm, das man zwar benutzen, aber auch verfeinern kann. Ein etwas besseres Beispiel ist auch unter #call zu finden.)
#ifregion, #ifunit Revision 13 May 2003
|