Tic tak toe, wie kann man so ein Spiel umsetzen?

    • Das ist ja prima. Dann bist du der erste, den ich kenne, der einen solchen rekursiven Alg. umgesetzt hat.
      In der Funktion Teste_auf_Gewinn ist der erste Check übrigens doppelt.
      Ich nehme an, du lässt das Programm beginnen. Wohin setzt er denn, wenn du in die Ecke gehst? Nimmt er immer das gleiche Feld, egal welche Ecke du besetzt?

      Falls du anfängst, dann setze doch mal oben rechts in die Ecke, also Feld 0. Wenn das Programm dann auf Feld 1, 2, 3, 5, 6 oder 7 geht, kannst du gewinnen.
    • Ich werde einen kleinen Film drehen, dann siehst du die Wertungen, die zu Computers Zug geführt haben. Da werde ich deine Zugvorschläge probieren.
      Wenn ich das jetzt wirklich geschafft habe, müsste ich noch ein Verfahren ersinnen, dass bei mehreren, gleichwertigen Zügen einen davon zufällig wählt. Also Film folgt bald...
      Jetzt wird's wieder spannend, werden wir weiße Weihnachten haben?
    • Lange Rede, kurzer Film

      Bei dem Startbild des Filmchens sieht man, dass etliche Felder die gleiche Wertung haben. Da der Computer rechts oben mit der Suche nach dem besten Zug beginnt und da ein günstiger Zug wäre, setzt er den gleich. Um das Spiel etwas variantenreicher zu gestalten, soll eben jetzt unter den bestbewerteten Zügen gelost werden.
      Jetzt wird's wieder spannend, werden wir weiße Weihnachten haben?
    • Das Würfeln bei mehreren besten Zügen:
      Vorgaben: ein array mit 9 integer-Elementen. Der index eines Elementes ist der Zug.
      zB. (siehe Bildchen vom Film)
      Ergebnis(0)=0
      Ergebnis(1)=-14
      Ergebnis(2)=0
      Ergebnis(3)=0
      Ergebnis(4)=-30
      Ergebnis(5)=0
      Ergebnis(6)=0
      Ergebnis(7)=-30
      Ergebnis(8)=0
      Die besten Züge sind hier die mit dem Wert 0 Das wäre rechts oben, links oben, rechts mitte, links mitte, rechts unten, links unten.
      Mein aktueller Gedanke:
      den besten Wert ermitteln, mit einer for n=0 to 8 Schleife (BestWert).
      jetzt mit rnd(9) eine Zufallszahl (Zz)zwischen 0 und 8 generieren, den Wert Ergebnis(Zz)=BestWert? mit dem besten Wert vergleichen, sind beide Werte gleich, dann ist dieses Zz der Zug. Sind die Werte verschieden, nochmals Rnd(9) und wieder vergleichen. Das solange, bis ein index mit dem besten Wert dazu getroffen wurde.
      Hat jemand eine elegantere Methode?
      Jetzt wird's wieder spannend, werden wir weiße Weihnachten haben?