![]() |
TicTacToe
Hi,
Ich möchte TicTacToe Programmieren, so das ein menschlicher Spieler anfängt und der contert. Kann mir jemand einen Denkanstoß geben wie ich berrechnen/denken muss so das der Computer nie Verlieren kann? Gibt es da sowas wie eine Formel oder etwas anderes wie ich mathematisch berrechnen kann wo der COmputer hinsetzten muss??? Bin dankebar für jede Hilfe, Ferby |
Re: TicTacToe
|
Re: TicTacToe
Hallo,
Habe jetzt mal geschaut aber immer nur fertige Spiele gefunden, nie das was ich brauch oder mit quelltext..... |
Re: TicTacToe
Ist doch recht simpel.
Versuche immer den ersten Zug in der Mitte zu machen, klappt das nicht nimm eine Ecke. Danach immer nur verhindern, dass eine Reihe geschlossen wird. Sollte eigentlich so klappen. [edit] Ist der erste Zug in der Mitte, darfst du den zweiten nicht in einer Ecke machen[/edit] |
Re: TicTacToe
Klappt nicht immer:
(X = Mensch - beginnt)
Code:
Jetzt hab ich als Mensch 2 Möglichkeiten zu gewinnen -> der PC hat keine Chance mehr. Das lässt sich einzig über einen Spielbaum lösen, und als Stichwort sei das Min(i)-Max-Prinzip genannt. Damit hab ich auch schon ein TTT bauen müssen ;). (Aber ganz perfekt (genau in dieser Spielsituation) hats auch net geklappt, da ich einen bööösen Patzer drin hab :?)
+---+---+---+
| | | | +---+---+---+ | | | | +---+---+---+ | | | X | +---+---+---+ +---+---+---+ | | | | +---+---+---+ | | O | | +---+---+---+ | | | X | +---+---+---+ +---+---+---+ | X | | | +---+---+---+ | | O | | +---+---+---+ | | | X | +---+---+---+ +---+---+---+ | X | | | +---+---+---+ | | O | | +---+---+---+ | O | | X | +---+---+---+ +---+---+---+ | X | | X | +---+---+---+ | | O | | +---+---+---+ | O | | X | +---+---+---+ Gruss, Fabian |
Re: TicTacToe
Deshalb ja mein Edit ;) Dann klappt es!
|
Re: TicTacToe
Ist das nicht ein Trick, gegen den sogar der Computer machtlos ist?
|
Re: TicTacToe
Nein, TTT lässt sich immer so spielen dass ein Unentschieden raus kommt (bei 2 "perfekten" Gegnern). Das hat man irgendwann mal glaube ich sogar mathem. bewiesen. Einen Link kann ich dir jetzt aber leider nicht anbieten - hat uns mal ein Prof so mitgeteilt.
Der PC im obigen Beispiel darf, wie schon richtig bemerkt, im 4. Bild keine Ecke belegen. Dann siehts zumindest bei dieser Speilweise gut aus. \\edit: Der "Trick" darf also erst garnicht möglich werden. Daher muss ihn ein Algorithmus quasi "vorhersehen", und das kann er z.B. mit einem Spielbaum im Grunde. (Schach spielt ein PC auch mit Spielbäumen nach Mini-Max-Prinzip, bzw. eher Alpha-Beta-Pruning, welches eine Verbesserung von Mini-Max ist.) |
Re: TicTacToe
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz