Het ontwerpen van spellen met Game Maker
Stapels (stacks)
Een structuur van stapelgegevens is een zogenaamde LIFO (Last-In First-out of laatste in, eerste uit). Je kunt waarden op een stapel duwen en hen opnieuw verwijderen door hen van de stapel te halen. De waarde die het laatst op de stapel werd geduwd is de eerste die er dan van de stapel afgehaald moet worden. De stapels worden vaak gebruikt wanneer er onderbrekingen zijn om te behandelen of bij recursieve functies. De volgende functies bestaan voor stapels:
ds_stack_create() Creëert een nieuwe stapel. Deze functie geeft een geheel als een id terug die in alle andere functies moet worden gebruikt om tot deze stapel toegang te verkrijgen. Je kunt veelvoudige stapels creëren.
ds_stack_destroy(id) Vernietigt de stapel met bepaalde id, waardoor het gebruikte geheugen weer vrij komt. Vergeet niet om deze functie te gebruiken wanneer je met de structuur klaar bent.
ds_stack_clear(id) Ontruimt de stapel met bepaalde id die alle gegevens uit het verwijdert maar het niet vernietigt.
ds_stack_size(id) Geeft het aantal waarden terug die in de stapel zijn opgeslagen.
ds_stack_empty(id) Geeft terug of de stapel leeg is. Dit is hetzelfde als testen of het aantal waarden die in de stapel zijn opgeslagen gelijk zijn aan 0.
ds_stack_push(id, val) Duwt de waarde op de stapel.
ds_stack_pop(id) Geeft de waarde op de bovenkant van de stapel terug en verwijdert deze uit de stapel.
ds_stack_top(id) Geeft de waarde op de bovenkant van de stapel terug maar verwijdert deze niet uit de stapel.