Einzelnen Beitrag anzeigen

Baerchenv

Registriert seit: 13. Mai 2019
1 Beiträge
 
#1

Image bewegen, sleep funktion, wettrennen

  Alt 13. Mai 2019, 17:21
Hallo, ich möchte mehrere Images gleichzeitig bewegen. Außerdem sollen sie alle eine zufällige Geschwindigkeit haben, mit der sie dies tun, sodass eins der Images, als erstes "ins Ziel" kommt und die Prozedur dann stoppt. Mein Quelltext sieht folgendermaßen aus:

Delphi-Quellcode:
procedure Tform1.Rennen;
var
 a,b,c:integer;
begin

a:=random(5);
b:=random(5);
c:=random(5);





     if (Image1.Left<400) and (Image2.left<400) and (Image3.left<400) then
    repeat
      Image1.Left:=Image1.Left+1;
          sleep(a);
        application.ProcessMessages;
      Image2.Left:=Image2.Left+1;
          sleep(b);
        application.ProcessMessages;
      Image3.Left:=Image2.Left+1;
          sleep(c);
        application.ProcessMessages;
    until
      (image1.left>399) or (Image2.Left>=399) or (Image3.Left>=399);

 end;


Ich habe nun das Problem, dass sich, obwohl ich sleep(a)/sleep(b)/sleep(c) benutze, immer alle Images gleichschnell nach vorn bewegen
Ich bin noch ein Delphi-Anfänger und weiß nicht mehr weiter, deswegen wollte ich mal fragen, ob mir vielleicht jemand weiter helfen kann ...
(die Befehle sleep(xy) sowie eine repeat-Schleife muss ich verwenden (ist eine schulaufgabe))


LG, Baerchenv
  Mit Zitat antworten Zitat