Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Programm vereinfachen (https://www.delphipraxis.net/169671-programm-vereinfachen.html)

len123 3. Aug 2012 20:03

Programm vereinfachen
 
Hey
Ich hab bastel grad an einem kleinen Tic Tac Toe-Spiel,
es besteht aus 9 labels, die ihre "caption" ändern, wen man auf sie klickt.
Ich muss noch anmerken das ich newbe in sachen Programmierung bin!:)
Das Programm guckt, nach jedem klick ob ein Spieler gewonnen hat,
dazu hab ich die Bedingungen bei jedem labelclick methode eingefügt.
Jetz ist meine Frage, da der Skript dadurch sehr lang wird, ob man das nicht irgend wie anders machen könnt
z.B. das man Bedingungen nur in eine methode packt die dann die nachguckt ob die Bedingung erfüllt ist.

Bedingung:
Code:
if (Label1.Caption='X') and (Label2.Caption='X') and (Label3.Caption='X') or
  (Label4.Caption='X') and (Label5.Caption='X')and (Label6.Caption='X') or
  (Label7.Caption='X') and (Label8.Caption='X')and (Label9.Caption='X') or
  (Label1.Caption='X') and (Label4.Caption='X')and (Label7.Caption='X') or
  (Label2.Caption='X') and (Label5.Caption='X')and (Label8.Caption='X') or
  (Label3.Caption='X') and (Label6.Caption='X')and (Label9.Caption='X') or
  (Label1.Caption='X') and (Label5.Caption='X')and (Label9.Caption='X') or
  (Label3.Caption='X') and (Label5.Caption='X')and (Label7.Caption='X')
  then
   begin
            Label11.Caption:= 'Spieler X hat gewonnen!';
   end;
   if (Label1.Caption='O') and (Label2.Caption='O') and (Label3.Caption='O') or
  (Label4.Caption='O') and (Label5.Caption='O')and (Label6.Caption='O') or
  (Label7.Caption='O') and (Label8.Caption='O')and (Label9.Caption='O') or
  (Label1.Caption='O') and (Label4.Caption='O')and (Label7.Caption='O') or
  (Label2.Caption='O') and (Label5.Caption='O')and (Label8.Caption='O') or
  (Label3.Caption='O') and (Label6.Caption='O')and (Label9.Caption='O') or
  (Label1.Caption='O') and (Label5.Caption='O')and (Label9.Caption='O') or
  (Label3.Caption='O') and (Label5.Caption='O')and (Label7.Caption='O')
  then
   begin
            Label11.Caption:= 'Spieler O hat gewonnen!';
   end;

Ich hoffe ihr versteht meine frage :-D

gruß lenn

Luckie 3. Aug 2012 21:49

AW: Programm vereinfachen
 
Bilde das Speilfeld in einem zwei dimensionalen Array ab. Das wäre jtzt so meine Idee, dieman aber noch ausbauen müsste. Und benutze keine Steuerelemente zur Datenhaltung.

Bummi 3. Aug 2012 23:30

AW: Programm vereinfachen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Beispiel im Anhang ...

len123 4. Aug 2012 12:02

AW: Programm vereinfachen
 
Hey danke für die schnelle Antwort und die Zip,
ich verste leider nur die hälfte aber wen ich mich nicht täusche wurden die
"sieges Bedingungen" in die "procedure TForm2.Check4Finish" reingeschrieben.
Nun ist meine Frage wie man so eine Methode benutzt, meine "sieges Bedingungen"
kann ich da glaub ich nicht dort reinschreiben, oder ?

Gruß len123

Bummi 4. Aug 2012 15:45

AW: Programm vereinfachen
 
Für mein Beispiel passt die nicht, wenn Du aber meinst ob Du z.B. OnClick mehrenen Controls zuweisen kannst ... sicher geht das, eim ersten Control anlegen und bei allen anderen auswählen (falls nötig kannst Du per Sender die Controls auseinanderhalten).


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:23 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