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
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:
 
*>>> online Testen: [http://www.lepirate-rosenheim.de/privat/tictactoe/tictactoe5.html http://www.lepirate-rosenheim.de/privat/tictactoe/tictactoe5.html]<br>'''
 
*>>> online Testen: [http://www.lepirate-rosenheim.de/privat/tictactoe/tictactoe5.html http://www.lepirate-rosenheim.de/privat/tictactoe/tictactoe5.html]<br>'''
  
Um ein Spiel durch einen Algorithmus zu handeln, braucht es eine '''innere Repäsentation''' des Spiels. Diese wird durch den Vektor '''status''' realisiert. Seine 9 Koordinaten '''merken''' sich jeweils, wer an diesem Platz sitzt:  
+
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 0 bedeutet, der Platz ist noch leer
 
* Wert 1 bedeutet, Schoko sitzt dort
 
* Wert 1 bedeutet, Schoko sitzt dort
 
* Wert 2 bedeutet, Bot sitzt da  
 
* Wert 2 bedeutet, Bot sitzt da  
  
===xxx===
+
===Das fertige Testbett===
xxx
+
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 ...
 +
# immer den erstbesten freien Platz besetzen
 +
# zufällig ziehen
 +
# die ersten beiden Züge mit wenn-dann optimal determinierten
 +
# 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