@hell: Das verschiedene Datentypen Methoden mit den gleichen Namen haben verwirrt vielleicht Dich, aber ganz sicher nicht den Compiler/Python, denn das ist normal. Das man das machen kann ist einer der Vorteile von objektorientierter Programmierung. Stichwort: Polymorphie.
Und es ist auch nicht so ungewöhnlich, dass man Klassen hat und darauf Methoden definiert deren AUfruf mehr oder weniger 1:1 an einen Bestandteil des Objekts durchgereicht wird. Es macht bei `Wall`- und `Vehicle`-Objekten Sinn den Abstand zwischen beiden zu berechnen, und dafür macht der Methodenname `distance_to()` Sinn. Genau so wie es Sinn macht den Abstand zwischen zwei Ortsvektoren vom Typ `Vector2` zu berechnen, und da ist ebenfalls `distance_to()` ein passender Name. Und wenn `Wall`/`Vehicle` ihre Position mit einem `Vector2` beschreiben, wird die `distance_to()` von `Wall`/`Vehicle` natürlich die `Vector2.distance_to()` zur Berechnung heranziehen.
Was man da eigentlich noch machen müsste, wäre die Radii von den beiden beteiligten Objekten abziehen um den Abstand genauer zu berechnen. Und spätestens an der Stelle macht es auch wirklich Sinn das in einer Methode auf `Wall`/`Vehicle` zu machen und nicht immer von Aussen auf die `location` zuzugreifen wie Du das gemacht hast, denn das mit den Radii müsste man dann überall hinschreiben wo man den Abstand zwischen den Objekten berechnen will.
Steering Hide, Interpose
- __blackjack__
- User
- Beiträge: 13116
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
- __blackjack__
- User
- Beiträge: 13116
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@hell: Noch ein Nachtrag: Vielleicht solltest Du besser von Deinem Code ausgehen statt bei meinem ”Rückbau” zu betreiben, da ich ja wie gesagt nicht weiss ob ich nicht noch irgendwo etwas kaputt gemacht habe, beim umschreiben ohne Testläufe.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
hallo _blackjack_,
danke für deine Antwort.
Meine nächsten 'Projekte' werden sein, zunächst die Programm zu den einzelnen Steering Behaviors von allem redundanten Code zu 'befreien'. Und OOP lernen. Vielleicht komme ich dann irgendwann dahin alle Themen, die du empfohlen hast, auch umzusetzen.
grüsse hell
danke für deine Antwort.
Meine nächsten 'Projekte' werden sein, zunächst die Programm zu den einzelnen Steering Behaviors von allem redundanten Code zu 'befreien'. Und OOP lernen. Vielleicht komme ich dann irgendwann dahin alle Themen, die du empfohlen hast, auch umzusetzen.
grüsse hell