Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Probleme beim Stoppuhr minispiel (https://www.delphipraxis.net/132514-probleme-beim-stoppuhr-minispiel.html)

Christof_S 14. Apr 2009 15:36

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.

Klaus01 14. Apr 2009 15:40

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

BullsEye 14. Apr 2009 17:32

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 23:40 Uhr.
Seite 2 von 2     12   

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