AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte TicTacToe mit mittlerer KI und für 1vs1
Thema durchsuchen
Ansicht
Themen-Optionen

TicTacToe mit mittlerer KI und für 1vs1

Ein Thema von ferby · begonnen am 15. Okt 2005 · letzter Beitrag vom 11. Nov 2005
Antwort Antwort
Seite 2 von 2     12   
ferby
Registriert seit: 15. Aug 2004
Hallo,

hab TicTacToe nachprogrammiert mit einer mittleren KI,
es ist auch mölich Mensch gegen Mensch zu spielen,

könnt ihr es mal testen und mir schreiben falls Fehler kommen???

danke!
Angehängte Dateien
Dateityp: exe tictactoe_196.exe (166,0 KB, 119x aufgerufen)
Dateityp: exe tictactoe_180.exe (166,0 KB, 63x aufgerufen)
 
zerodivide
 
#11
  Alt 25. Okt 2005, 10:53
TicTacToe müsste sich relativ schnell durchrechnen lassen.

Es sollte also möglich sein ein Bewertungsschema für einen Zug einzuführen.

erster Vorschlag:

Für jedes noch zur Verfügung stehende Feld prüfen:
sofortige Gewinnchance +3
Gewinnchance im nächsten Zug +1
Vereitelung einer gegnerischen Gewinnchance +2

Aus den Feldern mit der höchsten Punktzahl zufällig eins wählen.

Greetz
  Mit Zitat antworten Zitat
ferby

 
Delphi 2010 Enterprise
 
#12
  Alt 2. Nov 2005, 15:35
Hallo,

ich habe die KI jetzt ein weinig überarbeitet,
es ist jetzt möglich zwischen der alten KI (KI Leicht) und zwischen meiner neuen KI (KI Schwer) zu wählen,
eigentlich sollte es jetzt unmöglich sein gegen die KI Schwer zu gewinnen,
ihr könnt es mal ausprobieren.




Bin für positive und negative kritik offen,

ferby
Angehängte Dateien
Dateityp: exe tictactoe_803.exe (166,0 KB, 49x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

 
Turbo Delphi für Win32
 
#13
  Alt 2. Nov 2005, 16:42
Hallo!
Ja, das hast du super gemacht! Jetzt kann man wirklich nur noch durch ein Unentschieden einer Niederlage entgehen.
Jetzt würde mich der Quellcode interessieren. Hast du einfach alle Möglichkeiten aufgelistet (wie oben) oder hast du eine Function, die erkennt, wo der Stein am passendsten wäre?

Grüße
Faux
Faux Manuel
  Mit Zitat antworten Zitat
ferby

 
Delphi 2010 Enterprise
 
#14
  Alt 2. Nov 2005, 17:13
Hallo,

Eigentlich war das schon mit dem Auflisten von vorher total dum,

ich habe nur ein wenig Quelltext hinzugefügt und zwar in der procedure KI_Zug

Delphi-Quellcode:
  // ZUG 3 oder höher
  if (zug>2) and (KI_schwer.checked) then
  begin
    for i:=1 to 2 do
    begin
      KI_S2(1,2,3,i);
      KI_S2(4,5,6,i);
      KI_S2(7,8,9,i);
      KI_S2(1,4,7,i);
      KI_S2(2,5,8,i);
      KI_S2(3,6,9,i);
      KI_S2(3,5,7,i);
      KI_S2(1,5,9,i);
    end;
  end;
wobei KI_S2 das ist:

Delphi-Quellcode:
procedure KI_S2(a,b,c,wert:byte);
begin
  if (feldwert[a]=wert) and (feldwert[b]=wert) and (feldwert[c]=0) then wahl:=c;
  if (feldwert[b]=wert) and (feldwert[c]=wert) and (feldwert[a]=0) then wahl:=a;
  if (feldwert[c]=wert) and (feldwert[a]=wert) and (feldwert[b]=0) then wahl:=b;
end;

Im Prinzip könnte ich sogar den ganzen zug eins und zwei Weglasen (also die ganze KI besteht nur noch aus dem was ich jetzt hinzugefügt habe), und sie wäre noch immer fast unbesiegbar.


Ferby
  Mit Zitat antworten Zitat
Thorben77
 
#15
  Alt 2. Nov 2005, 17:19
Ganz nett

Aber häng die Echse nochmal an den ersten Beitrag an, die meisten Leute werden wohl nicht erst runterscrollen und gucken ob da noch eine ist.
  Mit Zitat antworten Zitat
Benutzerbild von robinWie
robinWie

 
Delphi 2005 Personal
 
#16
  Alt 11. Nov 2005, 15:42
Schönes Teil!
Ich hab auch mal versucht ein TicTacToe zu progen, aber manchmal hat der Computer zwei kreise gemacht. Und die KI war so gut das es unmöglich den zu besiegen
Robin W.
  Mit Zitat antworten Zitat
Benutzerbild von zecke
zecke

 
Turbo Delphi für Win32
 
#17
  Alt 11. Nov 2005, 15:49
Ich gewinn nur -.- das ist seltsam.

Ich setze oben links, Computer immer in die Mitte, ich unten rechts, er oben mitte, ich unten mitte, er mitte links, ich unten rechts und habe damit 3 -.- (also die Version 2.20)

Aber eigentlich is das Spiel witzlos, wenn zwei "Könner" gegeneinander spielen, trotzdem schön umgesetzt

Edit: Ich korrigiere: Nicht immer, aber so in Circa 90% der Fälle gewinnt man so, auch spiegelverkehrt macht er mit.
  Mit Zitat antworten Zitat
Maximus
 
#18
  Alt 11. Nov 2005, 16:03
@Zecke vielleicht solltest du die KI auch auf schwer stellen - Dann funktioniert das nicht mehr ^^

MFG
Maximus
  Mit Zitat antworten Zitat
Benutzerbild von zecke
zecke

 
Turbo Delphi für Win32
 
#19
  Alt 11. Nov 2005, 16:06
Ah Du Fuchs Du (Ja ich gebe zu, ich habe das Menu strikt missachtet )
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 03:34 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