Navigation überspringen

ARES


Seiteninhalt:

Direktiven

Direktiven sind zusätzliche Angaben zum Quellcode, die nicht Bestandteil der Sprache Redcode sind. Manche Direktiven sind nur für die KoTH-Server interessant, andere für Debugger. Da diese Befehle nicht zum Redcode-Sprachumfang gehören, haben die Programmierer der Hills einfach beschlossen, dass diese Befehle als besondere Kommentare in die Quellcodes eingefügt werden sollen.

KoTH-Direktiven

Dies sind zunächst einmal Angaben zum verwendeten Redcode-Standard, sowie Namen und Author des Kampfprogramms. Des weiteren ist eine Direktive vorgesehen, die sicherstellt, daß ein Warrior nur unter bestimmten Bedingungen (z. B. eine vorgegebene CORESIZE) ausgeführt wird. Damit ein Kampfprogramm mit allen Core-Settings läuft, muß man einfach TRUE (1) angeben:

  ;redcode
  ;name WARRIOR-Name
  ;author Der Programmierer
  ;assert 1

Um anzugeben, daß ein Kampfprogramm nur für eine bestimmte Speichergröße oder andere Umstände geschrieben wurde, kann man Ausdrücke der folgenden Art notieren:

  ;redcode-nop                  Nur auf Hills ohne P-Space
;assert CORESIZE == 8000 Das Programm läuft nur in einem Core mit 8000 Zellen ;assert CORESIZE % 10 == 0 Core muß ein Vielfaches von 10 Zellen haben ;assert (CORESIZE == 8000) && (MAXLENGTH >= 200)

Leider sind die KoTH-Server empfindlich, was die Formatierung dieser Befehle angeht. Es ist ratsam, solche Direktiven ganz am Anfang der Quelldatei zu notieren und das Tabulator-Zeichen nicht zu gebrauchen. Die ;redcode-Angabe muß die allererste Zeile sein, Text davor wird ignoriert. Die Codes zu dieser Angabe unterscheiden sich auch auf den verschiednen Servern. Für ARES spielen diese Direktiven in seiner aktuellen Version keine Rolle, er gibt aber noch zwei weitere KoTH-Direktiven vor, die jedoch von den Hills derzeit gänzlich ignoriert werden:

  ;version 1
  ;date 23-12-2006

Es gibt noch weitere Direktiven, wie z. B. ;passwd, die von Hill zu Hill unterschiedlich oder nicht implementiert sind. Informationen dazu findet man für gewöhnlich auf der Webseite des jeweiligen Servers.

Debugger-Direktiven

ARES kennt zwei weitere Direktiven, die für die Fehlersuche von Nutzen sind:

  loop   JMP   target    ;break    Breakpoint für diesen Befehl aktivieren
  ptr    DAT   #n        ;watch    Diese Zelle der "Watches"-Liste hinzufügen

Send-To-Hill Direktiven

Wer Warriors für bestimmte Hills schreibt, kann folgende Angaben machen, die voreingestellten Werte der Send-To-Hill Funktion werden dadurch übergangen:
  ;hill <adresse>     An einen bestimmten Hill senden
;reply <adresse> Bestimmte Absenderadresse verwenden


Content Management:

μCMS α1.6