GLB:Grundgerüst
Aus PandoraWiki
Im ersten Teil beginnen wir mit dem Programmrumpf:
//============================================================================= // T Y P E S //============================================================================= //============================================================================= // C O N S T A N T S //============================================================================= // application states GLOBAL AS_INTRO% = 1 GLOBAL AS_MENU% = 2 GLOBAL AS_LEVEL00% = 10 GLOBAL AS_EXIT% = 255 // button map GLOBAL BUTTON_RIGHT% = 205 GLOBAL BUTTON_LEFT% = 203 GLOBAL BUTTON_DOWN% = 208 GLOBAL BUTTON_UP% = 200 GLOBAL BUTTON_A% = 44 GLOBAL BUTTON_B% = 45 GLOBAL BUTTON_R% = 54 GLOBAL BUTTON_START% = 28 GLOBAL BUTTON_VOLI% = 201 GLOBAL BUTTON_VOLD% = 209 //============================================================================= // V A R I A B L E S //============================================================================= // application GLOBAL AppState% = AS_INTRO LOCAL done = FALSE //----------------------------------------------------------------------------- // I N I T //----------------------------------------------------------------------------- DRAWRECT 0,0,320,240,0 SHOWSCREEN DRAWRECT 0,0,320,240,0 SHOWSCREEN //----------------------------------------------------------------------------- // M A I N L O O P //----------------------------------------------------------------------------- WHILE done=FALSE SELECT AppState CASE AS_INTRO ; AppState=RunIntro() CASE AS_MENU ; AppState=RunMenu() CASE AS_LEVEL00 ; AppState=RunLevel00() CASE AS_EXIT ; done=TRUE DEFAULT ; done=TRUE ENDSELECT WEND //----------------------------------------------------------------------------- // D E I N I T //----------------------------------------------------------------------------- DRAWRECT 0,0,320,240,0 SHOWSCREEN DRAWRECT 0,0,320,240,0 SHOWSCREEN
Als erstes machen wir Platz für Type-Definitionen welche wir später hier einsetzen werden. Anschließend kommen die Konstanten, welche wir im Programm immer GROß schreiben werden. Mit AS_INTRO etc. beschreiben wir den jeweiligen Status des Programms (AS = application state). Danach folgen die Konstanten für die Tastenbelegung welche wir später noch benötigen werden. Jetzt folgen die Variablen, wobei wir globale mit großem und lokale mit kleinem Anfangsbuchstaben schreiben. Die globale Variable AppState initialisieren wir mit AS_INTRO da wir unser Programm mit dem INTRO starten wollen. Dann löschen wir den Framebuffer.
Nun kommt die Hauptschleife des Programms: Wenn innerhalb der Schleife
WHILE done=FALSE ... WEND
der Wert der Variable done auf TRUE gesetzt wird, löschen wir wieder den Framebuffer und das Programm endet.
Im darauffolgenden Code-Abschnitt überprüfen wir das auszuführende Programmmodul:
SELECT AppState CASE AS_INTRO ; AppState=RunIntro() CASE AS_MENU ; AppState=RunMenu() CASE AS_LEVEL00 ; AppState=RunLevel00() CASE AS_EXIT ; done=TRUE DEFAULT ; done=TRUE ENDSELECT
Da wir den Wert von AppState auf AS_INTRO gesetzt haben wird natürlich das Modul RunIntro() aufgerufen. Die verschiedenen Module sind Funktionen welche wiederum einen Wert zurückgeben, der dann sofort wieder in der Variable AppState gespeichert wird. Beim nächsten Schleifendurchlauf wird diese erneut abgefragt.
Im nächsten Kapitel werden wir uns mit Intros und Menüs beschäftigen.

