Ga naar hoofdinhoud

9.6 Bouwsteen 1 — initial_state()

Leerdoel: je schrijft de eenvoudigste functie van de track: een leeg bord teruggeven.

Wat doet deze functie?

initial_state() geeft het bord terug zoals het er aan het begin van het spel uitziet: een 3×3 grid waar nog niets is gespeeld. Alle negen cellen staan op None.

Deze functie heeft geen input — je hoeft nergens iets over te vertellen, er is gewoon één antwoord.

Specificatie

  • Input: geen.
  • Output: een lijst van 3 lijsten, elk met 3× None.
  • Voorbeeld: initial_state()
    [[None, None, None],
    [None, None, None],
    [None, None, None]]

Voorspel

Als initial_state() correct werkt, wat denk je dat dit print?

bord = initial_state()
print(len(bord))
print(bord[1][1])
Antwoord
3
None

len(bord) is het aantal rijen (3). bord[1][1] is de middencel, en die hoort leeg te zijn (None).

Bouw zelf en test

Vul de functie in. Onder de functie staan tests die controleren of het klopt — runt zonder fouten als alles goed is.

Python
Code-omgeving wordt voorbereid…
Tip

Schrijf de drie rijen letterlijk uit:

return [[None, None, None],
[None, None, None],
[None, None, None]]

Kortere variant: [[None] * 3 for _ in range(3)].

⚠ Pas op met [[None] * 3] * 3 — dat lijkt korter, maar geeft drie keer dezélfde rij (alias). De laatste test hierboven vangt dat: update aan rij 0 zou anders ook rij 1 raken.

Door naar stap 7: bouwsteen 2 — player →.