Delphi-PRAXiS
Seite 9 von 18   « Erste     789 1011     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz (https://www.delphipraxis.net/162412-tic-tac-toe-mal-wieder-versteh-aufgabestellung-nicht-ganz.html)

biby90 23. Aug 2011 15:12

AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
 
nein. ich dachte ich hätte den Fehler dort entdeckt^^ der Rest ist doch noch da.... ich habs bloß Auskommentiert:angel:

DeddyH 23. Aug 2011 15:21

AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
 
Der Fehler liegt darin, dass Du die Funktion aufrufst, ohne vorher zu prüfen, ob das aktuell angeklickte Label "leer" ist.

biby90 23. Aug 2011 15:26

AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
 
Delphi-Quellcode:
procedure TForm1.Label9Click(Sender: TObject);
var
   Kombination: MyStringArray;
begin
    Kombination[0] := Label7.Caption;
    Kombination[1] := Label8.Caption;
    Kombination[2] := Label9.Caption;
  if IsFieldEmpty(Label9.Caption) then
  begin
    Label9.Caption := WriteToField(GPlayer);
    if CheckForWin(Kombination) then
    begin
      Label9.Caption := '';
      ShowMessage(IntToStr(GPlayer)+' hat gewonnen!');
      GPlayer := 1;
    end else
    begin
      ChangePlayer;
    end;
  end;
end;
:?: sorry, der Server stürzt die ganze Zeit ab.... -.-

DeddyH 23. Aug 2011 15:28

AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
 
Du schreibst ja auch den alten Wert ins Array und änderst dann erst.

biby90 23. Aug 2011 15:36

AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
 
klappt auch nicht so richtig.... er zeigt mir nicht wer gewonnen hat und stoppt das spiel auch nicht....

DeddyH 23. Aug 2011 15:38

AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
 
Dann machst Du wohl was falsch.

biby90 23. Aug 2011 15:39

AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
 
ich probiers noch mal aus.... hab ja gleich feierabend.... ich schau mal was da los ist

mleyen 23. Aug 2011 15:50

AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
 
Was funktioniert denn jetzt genau nicht?

Und worauf man hinweisen wollte war, dass man
Zitat:

Zitat von biby90 (Beitrag 1119024)
(IsFieldEmpty(AIndex[1]) = false)

besser so schreibt:
Delphi-Quellcode:
(not IsFieldEmpty(AIndex[1]))

biby90 24. Aug 2011 12:45

AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
 
Mein Ausbilder hat mir jetzt eine Nachricht geschickt nachdem er gestern kurzen BLick auf mein Programm geworfen hat....
ich soll jetzt ein 2 dimensionales Array machen. Ist ja alles wunderbest.
jetzt soll ich aller´dings auch eine Procedure machen, das Daten aus dem Array in die GUI schreibt.
Über einen kleinen Tipp wäre ich dankbar.

ensaron 24. Aug 2011 13:08

AW: tic tac toe.... mal wieder:) versteh aufgabestellung nicht ganz
 
In den Beiträgen #4 und #5 gibts nen Vorschlag mit nem 2D-Array.

Zum Schreiben in die GUI:
Wenn ich es richtig mitbekommen hatte, benutzt du für die Anzeige ja 9 Labels, die mit Label1 bis Label9 durchnummeriert sind.
Die Ausgabe würde ich dann wie folgt probieren (sicher nicht die schönste Variante, vielleicht hat ja noch jemand nen besseren Vorschlag):

Delphi-Quellcode:
procedure TForm1.Ausgabe;
var
  lLabel: TLabel;
  i,j: Integer;
  lNummer: Integer;
begin
  for i := 0 to 2 do
  begin
    for j := 0 to 2 to
    begin
      lNummer := (i + 1) + (j * (j + 1));
      lLabel := TLabel(FindComponent('Label'+IntToStr(lNummer)));
      lLabel.Caption := 'IntToStr(lNummer)'; //*
    end;
  end;
end;
*: In diese Zeile kommt dann hin, was immer du den einzelnen Labels zuweisen möchtest. In meinem Beispiel würden die Labels jetzt die Beschriftung 1 bis 9 zugewiesen bekommen.


EDIT: Das hier: "IntToStr((i+1)*(j+1))" haut noch nicht hin, da ja z.B. bei (i = 1 , j = 0) und (i = 0 , j = 1) das selbe Label gefunden wird.
EDIT #2: lNummer hinzugefügt und die Berechnung korrigiert ^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:03 Uhr.
Seite 9 von 18   « Erste     789 1011     Letzte »    

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