Draai het zelf — buiten de browser
Leerdoel: je verzamelt je negen functies in één lokaal
Python-bestand, zodat je daar straks de laatste functie (minimax) bij
kunt schrijven in een echte editor in plaats van in een PyRunner.
Wat heb je nu?
Negen werkende functies, verspreid over acht bouwstenen:
initial_state, player, actions, result,
winner, terminal, utility, max_value, min_value
max_value en min_value zijn samen één bouwsteen, vandaar negen
functies in acht bouwstenen. De laatste bouwsteen, minimax, komt op de
volgende pagina; eerst breng je die negen bij elkaar.
Waarom uit de PyRunner stappen?
Tot nu toe stonden je functies op losse pagina's. Om te leren werkt dat
prima, maar minimax heeft alle negen nodig, en in de PyRunner betekent
dat elke keer opnieuw plakken. De browser kan een lange minimax-run
bovendien niet onderbreken, en je hebt geen echt bestand met je werk.
Twee opties 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 negen functies
in de PyRunner hieronder en print een sanity-check: zo zie je dat ze
samen werken. Op de volgende pagina staat voor deze route een eigen
PyRunner (in een <details> blok onderaan) waarin de negen functies al
klaarstaan; daar plak je alleen minimax in, met dezelfde tests als de
lokale route.
Als die output klopt (3×3 None, "X" aan zet, 9 zetten), zijn je negen functies klaar voor minimax.
Optie B — lokaal in VS Code (aanbevolen)
Zo werken programmeurs ook: één bestand, in een eigen editor. Je installeert één keer wat, en daarna heb je een echt Python-project.
Stap 1 — Python en VS Code installeren
Volg de Coderius-tutorial Python in VS Code. 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.
Dat is eenmalig werk.
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 negen functies in tictactoe.py plakken
Open elke bouwsteen-pagina 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 via het 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? Haal de sanity-check straks weer weg, want 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 noodoplossing van optie A.
Door naar bouwsteen 9: minimax →.