Beschreibung | ||||
Dieser Befehl ist für Type-Felder gedacht. Am Anfang der Type-Definition steht TYPE und am Ende END TYPE. Dazwischen stehen mehrere FIELD-Befehle. Ein Type-Feld ist ein dynamisches Feld, welches die Einträge automatisch verwaltet. Die Einträge in Type-Feldern kann man nicht sofort ansprechen. Man muss zuerst zum richtigen Eintrag wechseln, und erst dann auslesen/speichern. Types sind eine Ansammlung von Eigenschaften. Bestes Beispiel dafür sind "Space Invaders". Alle Aliens benötigen bestimmte Eigenschaften - z.B. Position auf dem Bildschirm. Nun kann man ja jedem Alien einige Variablen zuweisen: alien1x, alien1y, alien2x, alien2y... Dies ist aber sehr aufwendig. Man könnte auch mehrere DIM-Felder erzeugen und alle Daten dort abspeichern. Leider ändert sich ja die Anzahl der Aliens. Speziell für dieses Problem wurden Types entwickelt. ![]()
| ||||
Parameter | ||||
Typename = Name der Type-Kollektion | ||||
Rückgabewert | ||||
- | ||||
Beispiel | ||||
Dieses Programm demonstriert die Type-Befehle: TYPE crafts FIELD x FIELD y FIELD dead FIELD graphic END TYPE FOR t = 1 TO 100 alien.crafts = NEW crafts alien\x = RND(0,640) alien\y = RND(0,480) alien\dead = 0 alien\graphic = 1 NEXT alien.crafts = FIRST crafts PRINT alien\x PRINT alien\y PRINT alien\dead PRINT alien\graphic alien = AFTER alien PRINT alien\x PRINT alien\y PRINT alien\dead PRINT alien\graphic alien.crafts = LAST crafts PRINT alien\x PRINT alien\y PRINT alien\dead PRINT alien\graphic alien = BEFORE alien PRINT alien\x PRINT alien\y PRINT alien\dead PRINT alien\graphic Dieser Programm demonstriert Type mit Dim-Feld: TYPE tile FIELD image FIELD extra END TYPE DIM map.tile(100,100) map.tile(1,1)=NEW tile map(1,1)\image=1 map(1,1)\extra=2 Dieses Programm demonstriert angehängte Types: TYPE fabrik FIELD preis FIELD flaeche FIELD stromkosten FIELD papier.papier END TYPE TYPE papier FIELD baemeverbrauch FIELD papiermenge END TYPE LOCAL fabrik.fabrik fabrik=NEW fabrik fabrik\preis=1000000 fabrik\flaeche=1000 fabrik\stromkosten=9999 fabrik\papier=NEW papier fabrik\papier\baemeverbrauch=1111 fabrik\papier\papiermenge=123 | ||||
Siehe auch | ||||
AFTER, BEFORE, DELETE, DIM, EACH, END TYPE, FIELD, FIRST, INSERT, LAST, NEW |