4.1.2.1 Gute Vorlage

In der Virtuellen Zockhalle kann sehr einfach begonnen werden.

Im Verzeichnis src/template befindet sich eine Datei automat. Diese enthält das Gerüst eines Automaten. Es muss nur noch mit Leben gefüllt werden.

Legen sie eine Kopie dieser Datei im Verzeichnis src an! Geben sie ihr einen Namen, der mit z_ beginnt, damit die implementierten GSG leicht vom Rest des Programmes zu unterscheiden sind.

Fügen sie das zu erzeugende Objektfile im Makefile der Variablen ZOCKEN hinzu und rufen sie make depend auf! Damit haben sie dafür gesorgt, dass ihre neue Datei übersetzt wird. Öffnen sie das Gerüst für das kommende virtuelle GSG in ihrem Lieblingseditor. Sie finden in Zeile 319 eine Definition struct machine changeme, und sie sollten diesen Namen wirklich ändern. Es ist das einzige Symbol, das in den globalen Namensraum exportiert wird4.7. Wenn sie schon dabei sind, ändern sie doch gleich die Texte in dieser Struktur!

Wenn sie sich diese Struktur anschauen, stellen sie fest, dass viele Felder entweder mit Zeigern auf lokal definierte Arrays oder mit NULL belegt sind. In den Arrays werden die Elemente des GSG definiert. Hier sind zunächst nur die Zählwerke in v_cnt und die Umlaufkörper in v_reel wichtig.

Die Strukturen sind mit kurzen Kommentaren erläutert. Wenn man sieht, wie die Komponenten heißen, ist der Blick in die Dokumentation oft nicht mehr nötig.

Passen sie die Definitionen der Umlaufkörper und Zählwerke an das geplante Gerät an! Wenn sie mehr Zähler oder Umlaufkörper brauchen, ist das Clipboard eine große Hilfe.

Wenn sie so weit gekommen sind, können sie die Datei register.c in ihrem Lieblingseditor öffnen. Dort finden sie schon Beispiele, wie Geräte deklariert und in das Array real_array eingefügt wurden. Orientieren sie sich an dieser Vorlage und kümmern sie sich zunächst nicht um das Vorschaubild!

Nun können sie mit make die erste Übersetzung anstoßen.

Wenn dabei keine Fehler aufgetreten sind, befindet sich ihr Gerät in der Virtuellen Zockhalle, es ist allerdings noch nicht spielbar, nur simulierbar. Und die Simulation ist auch sinnlos, da die »Gewinnprüfung« für jede Walzenstellung einen Gewinn von Null zurückgibt.



Handbuch für die Virtuelle Zockhalle von Elias Schwerdtfeger