Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Billiges Autorennen - Automatische Bewegung? (https://www.delphipraxis.net/90992-billiges-autorennen-automatische-bewegung.html)

webmarathon 27. Apr 2007 08:32


Billiges Autorennen - Automatische Bewegung?
 
hallo

bin grad dabei ein Autorennen zu programmieren was sehr billig ist. Prog ist Delphi 3.
Nun hab ich das soweit das per Buttonklick die Dinger losgehen allerdings nur beim dauerklicken und die vorgegebenen Werte. Wie kann man das machen das das Zufällig läuft und ohne dauerklicken auf den Button?

Code:

Delphi-Quellcode:
unit Unit1;

 interface usesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls, ExtCtrls;
typeTForm1 = class(TForm)
Image2:
TImage;
Image1:
TImage;
Shape1: TShape;
Shape2: TShape;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Label1: TLabel;
Edit2: TEdit;
Label2: TLabel;

procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private{ Private-Deklarationen }
public{ Public-Deklarationen }
end;
varForm1: TForm1;

implementation {$R *.DFM} 

procedure bewegen (var x,y:integer);
beginx:=x+1;
form1.Image1.left:=x;
end;

procedure bewegene (var a,b:integer);
begina:=a+1;
form1.Image2.left:=a;
end;

procedure TForm1.Button1Click(Sender: TObject);
var x,y,i,delay,a,b:integer;

 begin
 x:=Image1.Left;
 y:=Image1.top;
 for i:=1 to 20 do
 bewegen(x,y);
 delay:=(1);
 a:=Image2.Left;
 b:=Image2.top;
 for i:=1 to 19 do
 bewegene(a,b);
 delay:=(1);
 end;
 procedure TForm1.Button2Click(Sender: TObject);
 begin
 close;
 end;

end.

angos 27. Apr 2007 08:39

Re: Billiges Autorennen - Automatische Bewegung?
 
Hi,

schau mal in der Delphihilfe nach TTimer. Könnte dir da weiterhelfen ;) damit kannst du deine Funktionen in einem bestimmten rythmus immer wieder ausführen

webmarathon 27. Apr 2007 08:49

Re: Billiges Autorennen - Automatische Bewegung?
 
naja das soll ja nich nach einem bestimmten ablauf laufen. die 2 autos sollen ja bei buttonklick losfahren und einer von beiden soll gewinnen. halt zufall wer gewinnt. aber irgendwie laufen die nicht automatisch. ich muss andauernd auf den button klicken.

Tormentor32 27. Apr 2007 09:10

Re: Billiges Autorennen - Automatische Bewegung?
 
Delphi-Quellcode:
Random(10)+1
Erzeugt einen Zufallswert zwischen 1 und 10

Das sollte dir weiterhelfen!

DP-Maintenance 27. Apr 2007 10:01

DP-Maintenance
 
Dieses Thema wurde von "Sharky" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Es geht ja um Delphi

webmarathon 27. Apr 2007 15:25

Re: Billiges Autorennen - Automatische Bewegung?
 
ok das mit random funktioniert schonmal das die unterschiedliche abstände fahren. jetz fehlt nur noch das die alleine fahren ohne das ich 1000 mal auf den button klicken muss damit die sich bewegen. also nur einmal als start und dann fahren die alleine. wie geht das?

Namenloser 27. Apr 2007 15:58

Re: Billiges Autorennen - Automatische Bewegung?
 
Wie angos schon sagte:
Zitat:

Zitat von angos
Hi,

schau mal in der Delphihilfe nach TTimer. Könnte dir da weiterhelfen ;) damit kannst du deine Funktionen in einem bestimmten rythmus immer wieder ausführen

Einfach einen TTimer (registerkarte system) aufs Formular ziehen, Intervall einstellen (in Millisekunden) und in das Ereignis OnTime dienen code einfügen. Enabled muss natürlich auf true stehen, sonst wird das ereignis nicht ausgelöst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 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 by Thomas Breitkreuz