![]() |
Re: TicTacToe mit mittlerer KI und für 1vs1
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 |
Re: TicTacToe mit mittlerer KI und für 1vs1
Liste der Anhänge anzeigen (Anzahl: 1)
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 |
Re: TicTacToe mit mittlerer KI und für 1vs1
Hallo!
Ja, das hast du super gemacht! Jetzt kann man wirklich nur noch durch ein Unentschieden einer Niederlage entgehen. :D 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 |
Re: TicTacToe mit mittlerer KI und für 1vs1
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:
wobei KI_S2 das ist:
// 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;
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 |
Re: TicTacToe mit mittlerer KI und für 1vs1
Ganz nett :thumb:
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. |
Re: TicTacToe mit mittlerer KI und für 1vs1
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 :mrgreen: |
Re: TicTacToe mit mittlerer KI und für 1vs1
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 :thumb: Edit: Ich korrigiere: Nicht immer, aber so in Circa 90% der Fälle gewinnt man so, auch spiegelverkehrt macht er mit. |
Re: TicTacToe mit mittlerer KI und für 1vs1
@Zecke vielleicht solltest du die KI auch auf schwer stellen ;) - Dann funktioniert das nicht mehr ^^
MFG Maximus |
Re: TicTacToe mit mittlerer KI und für 1vs1
Ah Du Fuchs Du :mrgreen: (Ja ich gebe zu, ich habe das Menu strikt missachtet ;))
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 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-2025 by Thomas Breitkreuz