Formål:
At lære at arbejde med multidimensionelle arrays i Processing.
At lære at bruge `PImage` til at manipulere og opdele billeder.
At arbejde med grafisk output og brugerinput (`mousePressed`) i Processing.
At forstå hvordan man kan kombinere data-modeller (2D-array) med visuelle elementer.
Beskrivelse:
I denne øvelse skal du lave et simpelt puslespil i Processing.
Opgaven går ud på at:
Vælge et billede (`PImage`) og opdele det i fx 3×3 eller 4×4 brikker.
Gemme hver brik i et 2D-array (`PImage[][]`).
Tegne puslespillets brikker i et gitter i `draw()`.
Lade spilleren bytte to brikker ved at klikke på dem.
Eventuelt kontrollere, om puslespillet er samlet korrekt.
Man kunne evt. anvende nedestående billede:
Hints / vejledning:
Eksempel:
PImage brik = original.get(j*brikBredde, i*brikHøjde, brikBredde, brikHøjde);
* Gem hver brik i et 2D-array: `brikker[i][j]`.
image(brikker[i][j], j*brikBredde, i*brikHøjde);
int i = mouseY / brikHøjde;
int j = mouseX / brikBredde;
* Gem første klik og andet klik, og bytte brikkerne i arrayet.
Ekstra udfordringer:
Lav puslespillet større (4×4 eller 5×5).
Tilføj antal træk eller timer.
Fremhæv klikbare brikker med `stroke()` eller `rect()`.
Lav en funktion til at reset puslespillet.