Zitat Zitat von Schrödinger
die sach ist die,

ich plane ein kampfsystem "ähnlich" dem von vagrant story .. und finde keine lösung für folgendes problem :

wenn man den gegner anvisiert soll abgefragt werden ob etwas dem abgefeuerten schuss im wege steht, oder ob der gegner überhaupt getroffen werden kann (weil er um ne ecke steht oder so .. )
sprich beim drücken der entertaste werden alle gegner auf dem spielfeld markiert, dann wählt man den den man angreifen möchte. hier soll dann abgefragt werden ob es überhaupt möglich ist dem gegner schaden zuzufügen ..
is schwer zu umschreiben .. ich poste noch mal n screen wenn wir was besseres einfällt ..

da das ganze nicht nur horizontal/vertikal funktionieren soll sonder beliebig, komm ich auf keinen nenner ..

falls jemand nen tipp hat wäre ich überaus dankbar -- grüß ich
Wenn ich dich richtig verstanden habe, hab ich hier ne Lösung für dich. Du erstellst ein unsichtbares Event mit der höchsten Geschwindigkeit.
Wenn du jetzt Enter drückst schießt das unsichtbare Event voraus.
Wenn es unterwegs unterbrochen wird, gibt es Rückmeldung und du kannst daraus schließen, dass es ein Hinderniss gibt.
Dieses Event kannst du in alle Richtungen schicken (auch in verschiedene nacheinander), solange du ein ChangeSwitch als Movebefehl am Ende hast und die Abfrage der gesamte Move-Befehl länger dauert als deine Abfrage.

Beispiel: Du willst checken, ob ein Event dir nach OBEN im Weg steht. Du drückst Enter. Darauf schießt das usnichtbare Event los (mit dem Move-Befehl: Up, Up, Up, Up, Up, Up, UP, Up, Switch ON XXXX; Ignore if it cant move), gleichzeitig lässt du ein Paralell-Event laufen, dass bevor dein Event den letzten Befehl mit dem Switch ON erreichen würde (d. h. beim letzten Up), dein Event ausschalten wird (musst du die Zeit errechnen bzw. ausprobieren).
In der Praxis: Das Event führt die UPs hintereinander aus, und wenn es irgendwo gegenstößt werden alle Befehle übersprungen, die nicht ausgeführt werden können (die restlichen UPs) und der Switch wird aktiviert.
Wenn das Event nicht unterbrochen wird, wird dein unsichtbares Event bevor es den Switch erreicht vorher ausgeschaltet (mit dem Paralell-Event).
D. h. Switch ON = Hinderniss, Switch OFF = kein Hinderniss.

Hoffe, ich konnte dir weiterhelfen

Edit: Das ist keine Theorie, diese Methode benutze ich seit meiner 3. KI-Generation und hat sich gut bewährt.