Thema: Delphi Wiederholen einer aktion

Einzelnen Beitrag anzeigen

Benutzerbild von Coffeecoder
Coffeecoder

Registriert seit: 27. Apr 2011
242 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: Wiederholen einer aktion

  Alt 5. Feb 2012, 07:57
Hallo,
Ich versuche ein Programm zu erstellen in dem man ein Quadrat steuert und ein anderes quadrat flüchtet
das flüchten habe ich erreicht durch einen zufallsgenerator und folgenden quelltext:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  zufall:=random(4);
  if Zufall = 0 then inc(JagdX,10);
  if Zufall = 1 then dec(JagdX,10);
  if Zufall = 2 then inc(JagdY,10);
  if Zufall = 3 then dec(JagdY,10);
Hast du da mal mit einer For-Schleife versucht?
Hier kannst du auch eine Case-Anweisung benutzen

Delphi-Quellcode:
case random(4)of
  0: inc(JagdX,10);
  1: dec(JagdX,10);
  2: inc(JagdY,10);
  3: dec(JagdY,10);
end;
und meine Lösung dafür das es die Ränder nicht überschreitet is auch eher arm
Delphi-Quellcode:
If
  (JagdX + 50 > 778) then dec(JagdX,20);

  If
  (Jagdy + 50 > 470) then dec(Jagdy,20);

  if
  (JagdX < 5) then inc(JagdX,20);

  If
  (JagdY < 7) then inc(Jagdy,20);
end;
hat da eienr noch ne bessere idee?
Wofür steht die Zahl "778"? Ich nehme die Breite des Forumlars? Schreib dies:
Delphi-Quellcode:
If
  (JagdX + 50 > form1.clientwidth) then dec(JagdX,20);
Wenn du magst, kannst du ja deinen gesamten Code anhängen, dann können wir das genauer ansehen.
Coffeecoder
  Mit Zitat antworten Zitat