AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TicTacToe

Ein Thema von ferby · begonnen am 29. Nov 2004 · letzter Beitrag vom 29. Nov 2004
Antwort Antwort
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#1

TicTacToe

  Alt 29. Nov 2004, 21:36
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
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: TicTacToe

  Alt 29. Nov 2004, 21:39
Hi!

Schonmal die anderen Umsetzungen im FOrum angeschaut?
Hier im Forum suchenTicTacToe


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#3

Re: TicTacToe

  Alt 29. Nov 2004, 21:53
Hallo,

Habe jetzt mal geschaut aber immer nur fertige Spiele gefunden, nie das was ich brauch oder mit quelltext.....
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#4

Re: TicTacToe

  Alt 29. Nov 2004, 22:02
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]
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: TicTacToe

  Alt 29. Nov 2004, 22:12
Klappt nicht immer:
(X = Mensch - beginnt)
Code:
+---+---+---+
|   |   |   |
+---+---+---+
|   |   |   |
+---+---+---+
|   |   | X |
+---+---+---+

+---+---+---+
|   |   |   |
+---+---+---+
|   | O |   |
+---+---+---+
|   |   | X |
+---+---+---+

+---+---+---+
| X |   |   |
+---+---+---+
|   | O |   |
+---+---+---+
|   |   | X |
+---+---+---+

+---+---+---+
| X |   |   |
+---+---+---+
|   | O |   |
+---+---+---+
| O |   | X |
+---+---+---+

+---+---+---+
| X |   | X |
+---+---+---+
|   | O |   |
+---+---+---+
| O |   | X |
+---+---+---+
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 )

Gruss,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#6

Re: TicTacToe

  Alt 29. Nov 2004, 22:31
Deshalb ja mein Edit Dann klappt es!
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
GTA-Place

Registriert seit: 5. Apr 2004
Ort: Weingarten
91 Beiträge
 
Delphi 7 Personal
 
#7

Re: TicTacToe

  Alt 29. Nov 2004, 23:30
Ist das nicht ein Trick, gegen den sogar der Computer machtlos ist?
Fabian
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: TicTacToe

  Alt 29. Nov 2004, 23:36
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.)
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von Nonsense
Nonsense

Registriert seit: 23. Nov 2002
389 Beiträge
 
Delphi 5 Standard
 
#9

Re: TicTacToe

  Alt 29. Nov 2004, 23:38
http://www.delphiforfun.com/Programs...oc_machine.htm
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz