prog:ex_tictactoe_multiarray
Kryds & Bolle med Multidim-array som model
Mål
- Bruge multidimensionelle arrays som model for spillet.
- Øvelse i at anvende objekter, multidimensionelle arrays, input og logik for spil.
Beskrivelse
Lav et spil kryds og bolle, hvor brættet er et 3×3 multidimensionelt array, der indeholder objekter af typen Brik.
En brik kan være et kryds eller en bolle. ( i kan skrive en text 'X' / 'O', eller kan indsætte et billede)
Spilleren kan klikke på en tom celle for at placere sin brik. Programmet skal kunne tjekke, om en spiller har vundet efter hvert træk.
Klassen Brik:
class Brik { String type; // "X", "O" Brik(String t) { type = t; } void display(int x, int y, int size) { fill(0); textAlign(CENTER, CENTER); textSize(32); text(type, x + size/2, y + size/2); } }
Hints til implementering:
- Tegn board udfra definerede variable cellSize, og boardX, samt boardY
- Brug nested loops til at tegne hver Brik med brik.display(x, y, size).
- Placer brikker ved klik
- Brug mousePressed() til at finde hvilken celle, der blev klikket på.
- Hint: brug variabel cellSize, og boardX, samt boardY - sammen med mouseX og mouseY til at beregne hvilket felt der et klikket på.
- Skift aktiv spiller efter hver placering af Brik.
- Tjek for vinder
- Lav en funktion checkWinner() som tjekker rækker, kolonner og diagonaler.
- Hvis tre ens brikker er i en linje, har den aktive spiller vundet.
Bonus
- Istedet for at bruge String til at angive typen, anvend nu istedet ENUM.
- Skift spiller efter hvert træk.
prog/ex_tictactoe_multiarray.txt · Sidst ændret: af 127.0.0.1

