Array i Spil

Fra Holstebro HTX Wiki
Skift til: navigering, søgning
Programmets visning af spilleplade

Eksemplet her tager udgangspunkt i Arrays[1].

Langt de fleste spil indeholder data-modeller der med fordel kan organiseres i et array.

Et array er grundlæggende set bare en samling af variabler af samme type, der er navngivet med et navn, og som så kan indekseres (peges på) ved hjælp af et tal fra 0 (første element i arrayet) til sidste element i arrayet der indekseres med længden - 1.

Det svære ved at anvende arrays i et spil er at finde ud af hvordan man kan lagre det man ønsker på en simpel måde, men typisk vil man kunne lagre meget som bare heltal (int), hvor man så lægger forskellige tolkninger på de specifikke tal. Hvis et objekt kan være skjult vil det være repræsenteret ved 0 eller -1, vist kan være 1, en anden farve som 2 osv. Det kræver lidt kreativitet at lave den "oversættelse".

Eksempel til at illustrere hvordan array bruges

Arrays kan manipuleres på forskellig vis, som er forsøgt illustreret med følgende lille program.

  • Tasten u udvider arrayet med et element.
  • Tasten d skærer et element af arrayet.
  • Tal-tasterne 0 - 9 tæller den ønskede plads en op - pas på ikke at komme uden for arrayet.
  • Tasten + tæller alle elementer i arrayet en op.
  • Tasten - tæller alle elementer i arrayet en ned.
int [] ar = new int[4];
void setup() {
  size(260, 260);
  textSize(20);
  fill(0);
}

void draw() {
  background(255);
  for (int n = 0; n < ar.length; n++) {
    text("ar[" + n + "] = " + ar[n], 10, n*30 + 40);
  }
  text("Længde = " + ar.length, 120, 40);
}

void keyPressed() {
  if (key == 'u') {
    ar = expand(ar, ar.length + 1);
  } else if (key == 'd') {
    ar = expand(ar, ar.length - 1);
  } else if (key >= '0' && key <= '9') {
    ar[key - 48]++;
  } else if (key == '+') {
    for (int n = 0; n < ar.length; n++) {
      ar[n]++;
    }
  } else if (key == '-') {
    for (int n = 0; n < ar.length; n++) {
      ar[n]--;
    }
  }
}

Referencer

  1. Arrays Tutorial på Processing.org