AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ideen zur Schach KI

Ein Thema von Cicaro · begonnen am 12. Apr 2005 · letzter Beitrag vom 25. Mai 2005
 
Cicaro

Registriert seit: 9. Feb 2005
285 Beiträge
 
Delphi 7 Personal
 
#36

Re: Ideen zur Schach KI

  Alt 20. Mai 2005, 10:06
Kann mir jemand vielleicht noch hierbei helfen ?
Sagen wir einfach die KI schaut nur einen Zug voraus. Sie prüft, wie es um ihre Seite steht, wenn sie einen zufälligen Zug macht.

Delphi-Quellcode:
TBoard = class
 public
  Move:TMove;
  Turn:Integer;
  Points:Integer;
  // ...
  procedure GetFigureLeading;
  procedure GetBestMove;
  function MoveAllowed:Boolean;
  procedure DoMove;
 end;

procedure TBoard.GetBestMove;
var
 BestMove:TMove;
 MaxPoints,i:Integer;
begin
 Randomize;
 MaxPoints:=64000;

 for i:=1 to 10 do
  // Erstellung eines gedachten Brettes
  with TBoard.Create(Self) do
   begin
    // KI sucht sich zufällig einen Zug aus
    repeat
     repeat
      Move.A.X:=1+Random(8);
      Move.A.Y:=1+Random(8);
     until Field[Move.A.X,Move.A.Y].ID*Turn>0;
     Move.B.X:=1+Random(8);
     Move.B.Y:=1+Random(8);
     Move:=GetMove(Move.A,Move.B);
    until MoveAllowed;
    // KI macht diesen Zug
    DoMove;
    Turn:=-Turn;
    // Berechnung der Punkte (zunächst nur Figurenvorteil)
    // positives Vorzeichen: Weiß in Führung
    // negatives " : Schwarz " "
    GetFigureLeading;
    // Entscheidung der KI
    if Points*Turn<MaxPoints then
     begin
      BestMove:=Move;
      MaxPoints:=Points*Turn;
     end;
    Free;
   end;

 Move:=BestMove;
 DoMove;
 Turn:=-Turn;
end;
Was ich hierbei wissen will, ob der Gedankengang so in Ordnung ist, wenn man die anderen verwendeten Methoden nicht in Frage stellt.
Habe ich villeicht etwas nicht beachtet oder irgendwo einen Fehler gemacht. Irgendwie funktioniert diese Prozedur bei mir nicht richtig.
  Mit Zitat antworten Zitat
 


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 01:25 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