Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#2

AW: Einfache "Kugeln Ziehen"-Aufgabe mit Schleife

  Alt 25. Jan 2012, 19:38
Hallo,

zuerst einmal solltest du die Variable "Zug" initialisieren.

Delphi-Quellcode:
procedure TForm1.KugelnZiehen(Sender: TObject);
 var s,w,fall,zug:integer;
begin
  //init
  Zug := 0;
 
  w:=StrToInt(Weiss.text);
  s:=StrToInt(Schwarz.text);
Zum Anderen sollst/musst randomize in OnCreate der Form legen. Damit es nur einmal aufgerufen wird.

Wenn eine IF-Anweisung kein else hat, dann brauchst es auch nicht schreiben.
Also anstatt:

Delphi-Quellcode:
        begin
         w:=w-2;
         s:=s+1;
         zug:=zug+1;
         end
         else
besser:

Delphi-Quellcode:
        begin
         w:=w-2;
         s:=s+1;
         zug:=zug+1;
         end;
Des weiteren, bist du dir sicher, dass deine Ausstiegs-Logik stimmt?
until s+w=1; Kann das eintreten?

Ich habe es mal getestet, bei weiss = 3 und schwarz = 5 wird w und s jeweils minimal 1
und 1 + 1 = 2

[Edit]
Ist nur Schönheit: Aber den begin/end-Block im repeat-Teil kannst dir sparen. Bei repeat braucht man keinen begin/end-Block
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat