Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Errschaffer

Alter Hase

  • »Errschaffer« ist der Autor dieses Themas

Beiträge: 865

Wohnort: Frankfurt

  • Private Nachricht senden

1

14.11.2008, 13:16

Unentschieden (Tic-Tac-Toe)

Hallo,
mein Tic-Tac-Toe ist nun schon etwas weiter. Wovon ich mir allderings noch keine Gedanken gemacht habe. Was ist wenn es unentschieden ist?
Ich habe nun auch die KI fertig und da kommt es zu 90% vor das es sich auf ein unentschieden beläuft.

Wie könnte man es machen das, das Porgramm dies Autmoatisch erkennt und dann eine entsprechene Meldung ausgibt.

Das Spiel läuft in einer while schleife ab. Die in der Abbruchbedigung 2 Variabeln enthält. Hat ein spieler gewonnen wird eine davon auf true gesetzt und das Spiel bricht ab.

Jetzt könnte ich natürlich in der KI was einbauen der der Pc an ein bestimmtes Feld nicht setzt. Außerdem wird mitgezählt wie viele Felder schon besetzt ist.

Also neben wir an das Feld mit den Koordinaten (1|1) bleibt immer vom Pc unbesetzt. Damit ist schon mal eine kleine Sicherheit geben das es nicht zu einem unentschieden kommt. Natürlich ist die wahrscheinlichkeit immer noch sehr hoch. Dann wird ja auch noch mitgezäht wie viele Felder schon besetzt sind.
Ein Beispiel:
Es´ist nur noch ein Feld frei also 8 von 9... genau auf dieses darf der Pc doch setzen und bumm unentschieden.
Dann weiss das Programm aha es sind 9 von 9 Felder besetzt und irgendwie greif die Gewinnerkennung auch nicht mehr. Also wird die Schleife unterbrochen.

Wäre das jetzt eine gute und einfache Lösung oder hat jemand von euch noch was besseres?

Hoffe ihr versteht was ich meine :)

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

2

14.11.2008, 13:21

Unentschieden kannst du bei TicTacToe nicht verhindern. Zwei fehlerlose Spieler werden immer auf Unentschieden auskommen.

Aber du kannst ja ganz einfach überprüfen ob es überhaupt noch leere Felder gibt. Wenn nicht ist das Spiel zuende.

Errschaffer

Alter Hase

  • »Errschaffer« ist der Autor dieses Themas

Beiträge: 865

Wohnort: Frankfurt

  • Private Nachricht senden

3

14.11.2008, 14:21

Ok dann mache ich es so wie ich es mir auch schon gedachte habe mit den Felder abzählen.


Danke.

Databyte

Alter Hase

Beiträge: 1 040

Wohnort: Na zu Hause

Beruf: Student (KIT)

  • Private Nachricht senden

4

14.11.2008, 14:41

Ich würd einfach die Gesetzten Steine mitzählen.. und wenn der 9. gesetzt
ist und keiner gewonnen hat, is unentschieden :)

Aber das hattet ihr wahrscheinlich auch vor :shock: :? 8)

Mordrak

1x Contest-Sieger

Beiträge: 121

Wohnort: München

Beruf: Junior IT Consultant

  • Private Nachricht senden

5

14.11.2008, 17:16

Zu Tic-Tac-Toe gibt es uebrigens eine witzige Variante (habe ich in "Die Legende von Kyrandia" Teil 3 gesehen): Dort musste man gegen eine Koenigin spielen, die jedoch immer den schlechtmoeglichsten Zug gemacht hat. Und natuerlich hat sie solange einen immer wieder zum spielen gezwungen, bis sie gewonnen hatte (unentschieden war ihr zu wenig :))

Gruesse,
Mordrak
What's yellow and equivalent to the axiom of choice? The Lemmon of Zorn!

Werbeanzeige