Ich bin dabei ein Glücksspiel zu programmieren, bei dem man von einem Kapital einen Einsatz auf eine Zahl zwischen Eins und Sechs setzen kann. Ich habe folgendes Problem: Nach jeder Runde wird das Kapital wieder auf den Ausgangsbetrag genullt und in der nächsten Runde damit weitergerechnet. Ich habe schon einiges ausprobiert, bin aber bisher noch nicht auf den Fehler gestoßen.
Bitte helft mir!
Delphi-Quellcode:
var
Form1: TForm1;
Kapital, Zahl, Einsatz, Runden,i, Zufall :integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Zahl:=strtoint(edit1.text);
Kapital:=strtoint(edit2.text);
Einsatz:=strtoint(edit3.text);
Runden:=strtoint(edit4.text);
i:=0;
repeat
label6.caption:=' ';
Zufall:=random(6)+1;
if Einsatz>Kapital then label6.Caption:=' Ihr Einsatz ist höher als ihr Kapital! Unmöglich!!!';
if Zahl>6 then label6.Caption:=' Wählen sie eine Zahl zwischen 1 und 6 !!!';
if Zahl=Zufall then begin
i:=i+1;
Kapital:=Kapital+Einsatz*2;
label6.caption:='Sie haben gewonnen!';
end;
if Zahl<>Zufall then begin
i:=i+1;
Kapital:=Kapital-Einsatz;
label6.caption:='Sie haben verloren!';
end;
label7.Caption:=' Ihr momentanes Kapital beträgt ' + inttostr(Kapital) + ' €';
listbox1.Items.Add(' In der ' + inttostr(i) + '. Runde wurde die ' + inttostr(Zufall) + ' gezogen!');
until (i=Runden);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
edit1.clear;
edit2.clear;
edit3.clear;
edit4.clear;
listbox1.Items.Clear;
label6.caption:='';
label7.caption:='';
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
randomize;
end;
end.
Schon mal im Vorraus vielen Dank!