Virtuelle Zockhalle 0.05 beta
|
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_bitmap * | v_vbms |
Array mit den variablen Bitmaps. | |
unsigned | n_counters |
Anzahl der Zählwerke. | |
struct counter * | v_counters |
Array mit den Zählwerken. | |
unsigned | n_reels |
Anzahl der Walzen. | |
struct reel * | v_reels |
Array mit den Walzen. | |
unsigned | n_strategies |
Anzahl der Simulationsstrategien. | |
struct simstrat * | v_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 counter * | credit_counter |
Credit-Zähler. | |
unsigned | n_invisibles |
Anzahl der unsichtbaren Persistenzen. | |
struct invisible_persistent * | v_invisibles |
Array mit den unsichtbaren Persistenzen. |
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.