Virtuelle Zockhalle 0.05 beta
Datenfelder

machine Strukturreferenz

Spielgerät. Mehr ...

#include <elements.h>

Datenfelder

const char * uniq_id
 Eindeutige ID.
const char * name
 Name.
const char * desc
 Kurze Beschreibung.
const char * version
 Versionsinformation.
const char * version_id
 Versionsinformation.
void(* format_money_f )(unsigned bufsz, char *buf, int value)
 Betragsformatierung.
unsigned bet
 Einsatz.
unsigned default_bet
 Standardeinsatz.
BITMAP * preview_image
 Vorschaubild für die GUI.
unsigned long flags
 Flags des Automaten.
unsigned long coinaccept
 Münzannahme.
int n_files
 Anzahl der zum Spielen benötigten Dateien.
char ** filenames
 Zum Spielen benötigte Dateien.
unsigned n_vbms
 Anzahl der variablen Bitmaps.
struct variable_bitmapv_vbms
 Array mit den variablen Bitmaps.
unsigned n_counters
 Anzahl der Zählwerke.
struct counterv_counters
 Array mit den Zählwerken.
unsigned n_reels
 Anzahl der Walzen.
struct reelv_reels
 Array mit den Walzen.
unsigned n_strategies
 Anzahl der Simulationsstrategien.
struct simstratv_strategies
 Array mit den Simulationsstrategien.
int(* initcheck_f )(void)
 Initiale Überprüfung des Automaten.
int(* wincheck_f )(machine_t md)
 Gewinnprüfung.
void(* init_f )(machine_t md, remember_t rmb)
 Elementare Initialisierung.
void(* startaction_f )(machine_t md)
 Aktionen zum Spielstart.
void(* endaction_f )(machine_t md)
 Aktionen zum Spielende.
void(* graphic_init_f )(machine_t md, remember_t rmb)
 Graphische Initialisierung.
void(* cleanup_f )(machine_t md, remember_t rmb)
 Cleanup-Funktion.
void(* before_render_f )(machine_t md)
 Aktionen vor dem Rendern der Elemente.
void(* after_render_f )(machine_t md)
 Aktionen nach dem Rendern der Elemente.
void(* timer_f )(machine_t md, unsigned timer)
 Timer-Callback.
void(* key_f )(machine_t md, int keycode, int scancode)
 Tastatur-Callback.
void(* wantquit_f )(machine_t md)
 Beenden-Callback.
void(* winhandler_f )(machine_t md, int win)
 Gewinnbehandlungs-Callback.
struct countercredit_counter
 Credit-Zähler.
unsigned n_invisibles
 Anzahl der unsichtbaren Persistenzen.
struct invisible_persistentv_invisibles
 Array mit den unsichtbaren Persistenzen.

Ausführliche Beschreibung

Spielgerät.

Ein Spielgerät ist eine Ansammlung von Walzen und Zählern, eventuell noch von unsichtbaren persistenten Elementen.

Auf diesem Spielgerät kann ein Spiel gestartet werden, das irgendwann überprüft, ob gewonnen wurde, dies in seinen Zählern markiert und irgendwann beendet ist. Die Elemente des Gerätes zeichnen sich auf die Anzeige und geben so dem Spieler das Gefühl des Spieles. Hierzu läuft ein Programm ab, das zu bestimmten Zeitpunkten bestimmte Aktionen veranlasst.

Technisch ist dies alles über einen Wust von Callback-Funktionen realisiert. Die einzelnen Elemente des Gerätes haben ebenfalls ihre Callback-Funktionen. Diese scheinbare Komplexität (sie ist gar nicht so groß) ist der Preis der Flexibilität des Frameworks. Für diesen Preis bekommt man eine fertige Implementation, die nur noch mit »Leben« gefüllt werden muss.

Das Spielgerät kann aber auch ohne grafische Elemente in einer Simulation betrieben werden. Hierbei wird nur eine rudimentäre Initialisierung vorgenommen. Der Simulationscode ist für sämtliche Spielgeräte bereits fertig, so dass jedes Gerät in einer sehr frühen Phase getestet werden kann, ohne dass seine Besonderheiten schon graphisch realisiert sein müssten. Dies vereinfacht die Implementation von Spielgeräten sehr. Die Walzen und Zähler müssen nur rudimentär implementiert sein, und die Funktion zur Gewinnprüfung muss natürlich fertig sein.

Definiert in Zeile 1020 der Datei elements.h.


Die Dokumentation für diese Struktur wurde erzeugt aufgrund der Datei: