![]() |
Re: Probleme beim Stoppuhr minispiel
habs jetzt so gemacht :
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, jpeg, ExtCtrls; type TForm1 = class(TForm) Button1: TButton; Label1: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Image1: TImage; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; startzeit, endzeit : Cardinal; Zeitsumme: TDateTime; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin If (Button1.Caption = 'Start') then begin startzeit := GetTickCount; Button1.Caption := 'Stop'; label1.Caption := 'Die Uhr läuft!!'; end else begin endzeit := GetTickCount; label1.Caption := Format ('Die Stopuhr lief %d ms.',[endzeit-startzeit]); Button1.Caption := 'Start'; IF (endzeit-startzeit = 10000) THEN (Label3.Caption := 'Gewonnen'); IF (endzeit-startzeit < 10000) THEN (Label3.Caption := 'Verloren! - Zu schnell!'); IF (endzeit-startzeit > 10000) THEN (Label3.Caption := 'Verloren! - Zu langsam!'); end; end; end. |
Re: Probleme beim Stoppuhr minispiel
.. so mag es gehen, aber das jemand punktgenau nach 10000 ms den Knopf drückt
sehe ich als eher unwahrscheinlich an. Ich würde da noch eine gewisse Toleranz einbauen. Grüße Klaus |
Re: Probleme beim Stoppuhr minispiel
Eine evtl alternativ Lösung:
Delphi-Quellcode:
{ ************************************** * Code by Marc von Garrel * * (c)2009 Marc 'BullsEye' von Garrel * * Vist me at: [url]www.m-v-g.de.ms[/url] * ************************************** } unit sek; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TfrmGame = class(TForm) edtZeit: TEdit; Label1: TLabel; btnStart: TButton; btnClose: TButton; edtZiel: TEdit; Label2: TLabel; Timer: TTimer; Button1: TButton; Label3: TLabel; procedure btnCloseClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure btnStartClick(Sender: TObject); procedure TimerTimer(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var frmGame: TfrmGame; zeit, zaehler : Integer; implementation {$R *.dfm} procedure TfrmGame.btnCloseClick(Sender: TObject); begin Timer.Enabled := false; zeit := 0; zaehler := 0; btnStart.Caption := 'Start'; edtZiel.Text := IntToStr(zaehler); // edtZiel.Show; end; procedure TfrmGame.FormCreate(Sender: TObject); begin frmGame.DoubleBuffered := true; end; procedure TfrmGame.btnStartClick(Sender: TObject); begin Zeit := StrToInt(edtZeit.Text); btnStart.Caption := 'Stop'; IF (Timer.Enabled = false) THEN BEGIN Timer.Enabled := true; zaehler := 0; zeit := 0; edtZiel.Text := '0'; btnStart.Caption := 'Stop'; END ELSE BEGIN Timer.Enabled := false; edtZiel.Text := IntToStr(zaehler); IF (zeit = zaehler) THEN ShowMessage('Gewonnen!'); IF (zeit > zaehler) THEN ShowMessage('Verloren! - Zu schnell!'); IF (zeit < zaehler) THEN ShowMessage('Verloren! - Zu langsam!'); btnStart.Caption := 'Start'; END; end; procedure TfrmGame.TimerTimer(Sender: TObject); begin zaehler := zaehler+1; end; procedure TfrmGame.Button1Click(Sender: TObject); begin close(); end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz