Vorlage Dokumentation#every
Allgemeines
   Aufruf
   Einleitung
   Installation
   Konfiguration
   Syntax
Einführung
   MetabefehlsAusdruecke
   MetabefehlsSyntax
   RegulaereAusdruecke
   VordefinierteVariablen
Funktionen
   abs()
   after()
   and()
   antoi()
   before()
   ceil()
   change()
   close()
   crop()
   equals()
   exp()
   flatten()
   float()
   floor()
   int()
   isnothing()
   itoan()
   length()
   log()
   log10()
   match()
   not()
   open()
   or()
   random()
   read()
   readline()
   sign()
   status()
   statustext()
   substr()
   system()
   time()
   tolower()
   toupper()
   typeof()
   write()
   writeline()
   xname()
   xor()
Metabefehle
   #after
   #array
   #break
   #call
   #config
   #const
   #debug
   #default
   #dict
   #else
   #every
   #forever
   #func
   #if
   #ifregion
   #ifunit
   #include
   #input
   #message
   #next
   #notrace
   #proc
   #return
   #sort
   #table
   #tag
   #trace
   #var
   #while
Rückruf-Prozeduren
   CalcUnitCapacities
   CreateRegionHeader
   CreateUnitHeader
   EndRegion
   EndUnit
   OnBuilding
   OnExit
   OnInit
   OnRegion
   OnShip
   OnUnit
   OutputLineFilter
Report-Objekte
   building
   grenze
   partei
   preise
   races
   region
   report
   ship
   things
   unit
Anhang
   Danksagungen
   SkriptDebugger
   VorlageFAQ

#every

Periodische Ausführung von Befehlen

Syntax

#every <n> <b> { <Befehl1> [: <Befehl2> [: ...]] }

Beschreibung

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.

Parameter

 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)

Beispiel

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

Referenzen

#after, #next

Revision 18 Nov 2004

Page design, graphics and contents (c) copyright 1999-2004
by S.Schümann and contributing authors