Tictactoe: e - Spielsituationen im Speicher durch Arrays repäsentieren - Das fertige Testbett: Unterschied zwischen den Versionen

Aus MINT.lentner.net
Zur Navigation springen Zur Suche springen
 
Zeile 15: Zeile 15:
 
# immer den erstbesten freien Platz besetzen  
 
# immer den erstbesten freien Platz besetzen  
 
# zufällig ziehen
 
# zufällig ziehen
# die ersten beiden Züge mit wenn-dann determinierten
+
# die ersten beiden Züge mit wenn-dann optimal determinierten
 
# die letzten Züge programmieren, indem man einfache Gewinnzüge erkennt
 
# die letzten Züge programmieren, indem man einfache Gewinnzüge erkennt

Aktuelle Version vom 11. November 2023, 14:29 Uhr

Ttt source5.png

Um ein Spiel durch einen Algorithmus zu handeln, braucht es eine innere Repäsentation des Spiels. Diese wird durch den in Zeile 2 definierten Vektor status realisiert. Seine 9 Koordinaten merken sich jeweils, wer an diesem Platz sitzt:

  • Wert 0 bedeutet, der Platz ist noch leer
  • Wert 1 bedeutet, Schoko sitzt dort
  • Wert 2 bedeutet, Bot sitzt da

Das fertige Testbett

Wir können nun eine Funktion bot_zieht() entwickeln, die tatsächlich intelligent und künstlich spielt, und diese in verschiedenen Situationen testen. Wir setzen eine Spielsituation und ein Klick auf den Button mit der Aufschrift Was würde bot tun? zeigt uns, was unsere Funktion tun würde.

Aufgaben

Probiere ganz einfache Algorithmen aus ...

  1. immer den erstbesten freien Platz besetzen
  2. zufällig ziehen
  3. die ersten beiden Züge mit wenn-dann optimal determinierten
  4. die letzten Züge programmieren, indem man einfache Gewinnzüge erkennt