Ga naar hoofdinhoud

9.15 Draai het zelf — buiten de browser

Leerdoel: je verzamelt je 8 functies in één lokaal Python-bestand zodat je daar straks de laatste functie (minimax) bij kan schrijven — in een echte editor, niet in een PyRunner.

Wat heb je nu?

Acht werkende functies, verspreid over 8 pagina's:

initial_state, player, actions, result,
winner, terminal, utility, max_value, min_value

(De helpers max_value en min_value zijn samen één bouwsteen, dus 8 functies, 9 bouwstenen — let goed op, want je hebt ze straks allemaal nodig.)

De laatste bouwsteen, minimax, komt op de volgende pagina. Maar voordat we die schrijven, brengen we je 8 functies eerst bij elkaar.

Waarom uit de PyRunner stappen?

Tot nu toe woonden je functies op losse pagina's. Werkt prima om te leren — maar nu wil je minimax schrijven en die heeft alle 8 nodig. Drie nadelen van in de PyRunner blijven:

  • Je moet je 8 functies elke keer opnieuw plakken om iets te kunnen draaien.
  • De browser kan een lange minimax-run niet onderbreken.
  • Je hebt geen echte file met je werk; copy-pasten vanuit de Coderius-site is geen project.

Twee opties hieronder lossen dat op — kies wat bij jou past.

Optie A — verzamel-PyRunner (alleen als noodoplossing)

Voor wie écht geen Python lokaal kan installeren (bv. op een Chromebook waar je geen software mag installeren). Plak je 8 functies in de PyRunner hieronder en print een sanity-check. De volgende pagina laat je dan ook minimax in dezelfde PyRunner schrijven (in een <details> blok onderaan).

Python
Code-omgeving wordt voorbereid…

Als die output klopt (3×3 None, "X" aan zet, 9 zetten), zijn je 8 functies klaar voor minimax.

Optie B — lokaal in VS Code (aanbevolen)

Dit is hoe ontwikkelaars in het echt werken. Eén file, eigen editor, geen browser-traagheid. Eenmalig wat installeren, daarna heb je een écht Python-project.

Stap 1 — Python en VS Code installeren

Volg de Coderius-tutorial op editor.coderius.nl/python/. Daar wordt stap voor stap uitgelegd hoe je:

  • Python installeert op Windows of macOS,
  • VS Code installeert,
  • de Python-extensie in VS Code zet, en
  • je eerste script draait.

Eenmalig werk; daarna heb je het altijd.

Stap 2 — een project-map maken

Open VS Code en maak een nieuwe map aan voor dit project, bijvoorbeeld:

minimax-tictactoe/
└── tictactoe.py

tictactoe.py is een leeg bestand voor je code.

Stap 3 — je 8 functies in tictactoe.py plakken

Open elke bouwsteen-pagina (06 t/m 14) van deze site, kopieer jouw oplossing uit elke PyRunner, en plak ze onder elkaar in tictactoe.py. Volgorde:

initial_state, player, actions, result,
winner, terminal, utility, max_value, min_value

Vergeet de twee imports bovenaan niet:

import copy
import math

Stap 4 — sanity check

Plak helemaal onderaan tictactoe.py een paar regels om te checken dat alles laadt:

bord = initial_state()
print("Leeg bord:", bord)
print("Wie is aan zet?", player(bord))
print("Aantal mogelijke zetten:", len(actions(bord)))

Open een terminal in VS Code (Ctrl + ~ of via menu Terminal → New Terminal) en typ:

python tictactoe.py

Verwachte output:

Leeg bord: [[None, None, None], [None, None, None], [None, None, None]]
Wie is aan zet? X
Aantal mogelijke zetten: 9

Werkt het? Mooi. Verwijder de sanity-check straks weer — minimax komt op die plek.

Tijd voor de laatste bouwsteen

Je hebt nu alles bij elkaar. Op de volgende pagina schrijf je minimax — direct in je lokale tictactoe.py (of in de PyRunner- fallback van Optie A).

Door naar stap 16: bouwsteen 9 — minimax →.