AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zielsuchende Objekte

Ein Thema von Dunkelbunt27 · begonnen am 10. Aug 2010 · letzter Beitrag vom 12. Aug 2010
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.746 Beiträge
 
Delphi 12 Athens
 
#2

AW: Zielsuchende Objekte

  Alt 10. Aug 2010, 20:35
Diese sollen also in einer "direkten" geraden zur Mitte laufen?

da es ja "quasi" nur in ganzen Pixeln/Feldern/Schritten geht:
- berechne die X&Y-Abstände zu dem gewünschten Zielpunkt
(z.B. x_abstand = x_zielpunkt - x_position)
- such dir den kleinesten Wert davon aus (mit abs das Vorzeichen entfernen)
- in diese Richtung gehst du dann
(if abs(x_abstand) > abs(y_abstand) then x_position=x_position+/-1 else y_position=y_position+/-1 )
- wenn wenn das Zielfeld aber schon besetzt ist, dann nimm die andere Richtung
- wenn keiner der beiden Wege möglich ist, dann entweder per Zufall in einer der verbleibenden Wichtungen gehn oder erstmal stehenbleiben
- sind beide Abstände kleiner-gleich 20, dann auch stehenbleiben


falls auch diagonal gesprungen werden darf, dann
- wenn x_abstand wesentlich größer als y_abstand und x_abstand größer 20, dann in nur x-richtung gehn
- oder wenn y_abstand wesentlich größer als x_abstand und y_abstand größer 20, dann nur in y-richtung gehn
- oder wenn x_abstand und y_abstand größer 20, dann in x und y gehn
- oder wenn x_abstand größer 20, dann in x
- oder wenn y_abstand größer 20, dann in y
- oder stehenbleiben
(auch hier die Abstände ohne Vorzeichen vergleichen)


falls es nicht ganz gerade sein soll, dann auf diesen weg eine Zielrichtung berechnen und dann per zufall eine Richtung auswählen, dabei aber natürlich in Zielrichtung den Zufall höher gewichten.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (10. Aug 2010 um 20:37 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:53 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-2025 by Thomas Breitkreuz