Ga naar hoofdinhoud

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.

Python
Code-omgeving wordt voorbereid…

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 TerminalNew 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 →.