Game Maker: Het switch-statement

Deze tutorial gaat over het switch-statement, het case-statement, het break-statement en het default-statement. Het gebruik van deze statements in plaats van een lange reeks van if en else kan uw code overzichtelijker maken en optimalizeren.

Een switch-statement wordt gebruikt om een actie te laten gebeuren afhankelijk van de waarde van een variabele of een expressie. Een switch-statement heeft de volgende constructie:

switch(<expressie>)
{
<...>
}

Dit is uiteraard nog een beetje leeg. Binnen het switch-statement kunt u verschillende case-statements opnemen. Daarmee vergelijkt u de "geswitchte" waarde. Een case-statement heeft de volgende opbouw:

case <expressie>: <statements>;

Als de "geswitchte" waarde hetzelfde is als de waarde van het case-statement, dan wordt vanaf die case alle code tot een break-statement of het einde van de switch uitgevoerd. Het break-statement stopt namelijk de uitvoering van codes binnen de switch. (Het break-statement kan overigens ook in lusstructuren gebruikt worden om deze lussen te beëindigen.) Hier een voorbeeld:

switch(variabele)
{
 case 0:
  show_message("De variabele heeft de waarde 0!");
 case 1:
  show_message("Dit bericht ziet u omdat de variabele of de waarde 0 of de waarde 1 heeft.#" +
               "Indien het de waarde 0 heeft, heeft u net al een bericht gekregen.");
  break;
 case 2:
  show_message("De variabele heeft de waarde 2!");
}

Tenslotte kunt u nog een default-statement toevoegen, dat wordt uitgevoerd indien geen van de voorgaande case-statements de waarde van de variabele had. Na het default statement gebruikt u geen case-statements meer; u kunt er nog wel een break-statement achter zetten, maar dit heeft geen effect. Hier nog een laatste voorbeeld:

switch(variabele)
{
 case 0:
  show_message("De variabele heeft de waarde 0!");
 case 1:
  show_message("Dit bericht ziet u omdat de variabele of de waarde 0 of de waarde 1 heeft.#" +
               "Indien het de waarde 0 heeft, heeft u net al een bericht gekregen.");
  break;
 case 2:
  show_message("De variabele heeft de waarde 2!");
  break;
 default:
  show_message("De variabele heeft een andere waarde dan 0, 1 of 2. Daarom wordt het default-statement uitgevoerd.");
}

0 reacties

Voeg een reactie toe