Einzelnen Beitrag anzeigen

ferby

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

Re: TicTacToe mit mittlerer KI und für 1vs1

  Alt 2. Nov 2005, 16: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