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);
So das problem ist ja offensichtlich
das quadrat bewegt sich in jede Richtugn mit derselben warscheinlichkeit. D.h. es haut nicht so richtig ab! es wackelt immer nur hin und her zwar bewegt es sich schon aber abhauen tut es halt nicht richtig
Also was ich bräuchte wäre entweder eine schleife sozusagen mache 3schritte nach links wenn random=0
nicht einen großen schritt weil dann ist es so Zackig ich wills flüßig!
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?