AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Fehler (warsch.) eine Abfrage. In Tic Tac Toe KI. HelpPlease
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler (warsch.) eine Abfrage. In Tic Tac Toe KI. HelpPlease

Ein Thema von M4ST3R86 · begonnen am 3. Jul 2004 · letzter Beitrag vom 5. Jul 2004
Antwort Antwort
Seite 2 von 2     12   
M4ST3R86

Registriert seit: 1. Mai 2004
23 Beiträge
 
#11

Re: Fehler (warsch.) eine Abfrage. In Tic Tac Toe KI. HelpPl

  Alt 4. Jul 2004, 22:57
ich bekomme dadurch im kompletten code fehler.

Darf ich dir das programm mal schicken? Das du mal drübergucken kannst. Brauche umbedingt hilfe.
  Mit Zitat antworten Zitat
Benutzerbild von Mirilin
Mirilin

Registriert seit: 21. Dez 2002
Ort: Lenzburg
861 Beiträge
 
Delphi 6 Professional
 
#12

Re: Fehler (warsch.) eine Abfrage. In Tic Tac Toe KI. HelpPl

  Alt 4. Jul 2004, 23:00


Du musst natürlich dann die ganzen Aufrufe dem entsprechend verändern. Überleg Dir doch nochmals kurz die logik des ganzen...


mfg Tobias
Tobias
Die Physik ist für die Physiker eigentlich viel zu schwer.
  Mit Zitat antworten Zitat
M4ST3R86

Registriert seit: 1. Mai 2004
23 Beiträge
 
#13

Re: Fehler (warsch.) eine Abfrage. In Tic Tac Toe KI. HelpPl

  Alt 4. Jul 2004, 23:07
ja klar nur das prob ist ich habe kaum mehr zeit. Muss das mittwoch fertig haben *G*

Weißt du wie mans verbessern kann? Haste schonmal probiert?
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#14

Re: Fehler (warsch.) eine Abfrage. In Tic Tac Toe KI. HelpPl

  Alt 4. Jul 2004, 23:58
Also, ich habe jetzt eine komplett lauffähige Version. Da ich aber hier nich einfach was abliefern will, sondern auch ein bißchen zum selber nachdenken anregen will, hier ein paar Tips.
SetField sieht jetzt so aus, CheckForFreeField wie oben:
Delphi-Quellcode:
//Setzt das Spielfeld 'nFieldIdx' auf den wert 'fieldType' und weist 'img' das passende Bild zu
procedure TForm1.SetField( img : TImage; nFieldIdx : integer; fieldType : TFieldType );
var x,y : integer;
begin
  x := ((nFieldIdx) mod 3);
  y := ((nFieldIdx-x) div 3);

  //Ist das Feld 'nFieldIdx' noch frei?
  if ( CheckForFreeField( x,y {nFieldIdx} ) ) then begin
    //Setzt das Feld 'nFieldIdx' auf den Wert 'fieldType'
    GameBoard[ x,y ] := fieldType;

    //Je nach 'fieldType' das passende Bild an 'img' übergeben
    case fieldType of
      ftX : img.Picture.Assign( ImageX.Picture );
      ftO : img.Picture.Assign( ImageO.Picture );
    end;
  end;
end;
- Überall wo du nFieldIdx in x und y umrechnen willst, kannst du diese Methode verwenden:
Delphi-Quellcode:
  x := ((nFieldIdx) mod 3);
  y := ((nFieldIdx-x) div 3);
- Umgedreht gehts auch:
nFieldIdx := y*3 + x; - rndIdx wurde in SimpleKI noch nicht initialisiert
- statt random (2) musst du random (3) verwenden, da die 2er-Felder sonst nie von der KI benutzt werden und es deshalb zu einer bösen Endlosschleife kommt
  Mit Zitat antworten Zitat
M4ST3R86

Registriert seit: 1. Mai 2004
23 Beiträge
 
#15

Re: Fehler (warsch.) eine Abfrage. In Tic Tac Toe KI. HelpPl

  Alt 5. Jul 2004, 17:13
Also bei deinem code oben meckert er schon da und zwar zu viele parameter. Liegt das an den images oder woran?


 if ( CheckForFreeField( x,y {nFieldIdx} ) ) then begin
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#16

Re: Fehler (warsch.) eine Abfrage. In Tic Tac Toe KI. HelpPl

  Alt 5. Jul 2004, 17:42
moin,

du musst natürlich die von Mirilin genannte Version von CheckForFreeField verwenden, nur die erwartet zwei Parameter ...
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
M4ST3R86

Registriert seit: 1. Mai 2004
23 Beiträge
 
#17

Re: Fehler (warsch.) eine Abfrage. In Tic Tac Toe KI. HelpPl

  Alt 5. Jul 2004, 18:27
Jetzt habe ich hier bei
if ( not CheckForFreeField( nFieldNum ) ) then begin
Label1.Caption := 'Move again';
exit;

bei nFieldNum nicht genügend wirkliche parameter. Wieso?



Delphi-Quellcode:
procedure TForm1.ImageK0Click(Sender: TObject);
var
  nFieldNum : integer;
  nCurrImg : TImage;
begin
  //Falls der Sender nicht von Typ TImage ist abbrechen
  if not ( Sender is TImage ) then
    exit;

  //Wenn 'bGameOver' auf true gesetzt ist, ebenfalls abbrechen
  if bGameOver then
    exit;

  //Den Sender einer Hilfvariable übergeben
  nCurrImg := ( Sender as TImage );
  //Den Tag (Feldnummer) des Senders einer Hilfvariable übergeben
  nFieldNum := nCurrImg.Tag;

  //Überprüfen ob das geklickte Feld frei ist, falls nicht aus der
  //Funktion springen
  if ( not CheckForFreeField( nFieldNum ) ) then begin
    Label1.Caption := 'Move again';
    exit;
  end;
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#18

Re: Fehler (warsch.) eine Abfrage. In Tic Tac Toe KI. HelpPl

  Alt 5. Jul 2004, 19:09
das ist doch wohl logisch! die procedure erwartet ja nun zwei Parameter ... ein x für die Spalte und ein y für die Zeile, keinen Index mehr der die Felder einzeln abzählt!

umrechnen mit:
Zitat von scp:
- Überall wo du nFieldIdx in x und y umrechnen willst, kannst du diese Methode verwenden:
Source:

x := ((nFieldIdx) mod 3);
y := ((nFieldIdx-x) div 3);
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
M4ST3R86

Registriert seit: 1. Mai 2004
23 Beiträge
 
#19

Re: Fehler (warsch.) eine Abfrage. In Tic Tac Toe KI. HelpPl

  Alt 5. Jul 2004, 19:23
ja guck mal in dem code da sin werder x noch y. Also wie sall das gehen?
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#20

Re: Fehler (warsch.) eine Abfrage. In Tic Tac Toe KI. HelpPl

  Alt 5. Jul 2004, 19:46
s.o.
Peter Enenkel
blubb
  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 19:46 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