SERVUS,
Delphi-Quellcode:
//globale var:
var
Counter : Integer; // wenn ein neues spiel gestartet wird, bitte Counter auf 1 initialisieren, das schreib ich hier net in den code *trivial*
procedure TForm1.Start1Click(Sender: TObject);
var
I: integer;
begin
timer1.interval := 10000; // zeit für den nutzer, das editfeld zu bearbeiten (in ms)
Fragestellung();
timer1.enabled := true; // timer1 sollte bis zum spielstart nicht enabled sein! erst hier wird er gestartet!
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
inc (counter) // den counter um 1 erhöhen
// hier ist dein code aus der anderen procedure
Edit1.Visible:= false;
if Edit1.Text = Label1.caption then
begin
RoderF.Font.Color:= clgreen;
RoderF.Caption:= 'Richtig!!!';
end else begin
RoderF.Font.Color:= clred;
RoderF.Caption:= 'Leider falsch!';
end;
Label1.Visible:= true;
Label1.Visible:= false;
Label2.Visible:= true;
if counter < 20 then // wurden weniger als 20 fragen gestellt, weitermachen!
Fragestellung ()
else //wurden schon 20 gestellt, dann das spiel beenden (auch wieder ein stück deines codes aus der procedure weiter oben)
begin
showmessage('Das Spiel ist beendet');
lb_green.Caption:= '';
lb_blue.Caption:= '';
timer1.enabled := false; // timer stoppen, da spiel beendet
end;
end;
das wäre jetzt mal mein lösungsansatz, für fehler entschuldige ich mich ma, ich hab das grade zusammengeschustert sogut es ging (ich weiß der code ist bescheiden formattiert, aber wie mans bekommt gibt mans auch wieder ab
)
Hoffe das hilft dir, viel spaß!