Ergebnis 1 bis 16 von 16

Thema: Space Wars Beta

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Ich glaub es ist 100% möglich ohne Fehler mit der Hälfte der Positionsabfragen. Gewagte These...
    Erstmal grundlegende Fragen, von denen ich ausgehe:
    - Kann sich ein Schuss nur waagerecht bewegen?
    - Hat das eigene Raumschiffe Move-Picture-Strecken (Startkoordinate-Endkoordinate) ohne zwischenzeitliche Koordinaten (schnellere Bewegung --> längere Strecken)?
    - Kann sich ein Raumschiff nur auf Move-Picture-Strecken bewegen?


    Wenn wir davon ausgehen, würde ich Folgendes vorschlagen:



    Der erste Teil des Bildes zeigt das Projektil von links kommend, dass mit dem in einer Kurve nach oben fliegenden Gegner kollidiert. Hierbei ist aber die Geschwindigkeit so groß, dass sie sich bei der Berechnung nicht berühren würden. Daher muss man gucken, wo der Gegner war (y-Achse) als er die x-Achse des Schusses durchquerte. Die Berechnung dazu steht im zweiten Teil des Bildes.
    Wenn der y-Abstand zwischen Gegner und Schuss größer als die y-Geschwindigkeit des Gegners ist, können sie sich nicht gekreuzt haben (größer im Sinne von weiter von Null entfernt und beide positiv oder beide negativ).

    Hat man einen möglichen x-Wert des Gegners gefunden, muss man gucken ob dieser zwischen den beiden Schuss-x-Werten liegt (letzte und vorletzte Position). Damit steht dann fest, ob er die Bahn gekreuzt hat oder nicht.

    Man muss noch beachten, dass bei [y-Speed = 0] nicht gerechnet werden kann (siehe Abbildung). Hier muss man nur den x-Wert überprüfen.

    Da der Gegner kein Punkt ist, muss es für die maximal und minimal Werte berechnet werden. Hier sind dann nur die Bedingungen X3, X4, Y3 und Y4 nötig.
    Jetzt bin ich mal gespannt, ob mir jemand ein Beispiel liefern kann bei dem das nicht funktioniert...

  2. #2
    Hmm, ich muss zugeben das ich die Rechnung nicht ganz verstanden habe... Warum ist (XSpeed * h) / YSpeed = b?
    Aber auch egal. Ich denke da es wichtiger ist einen schnellen Spielfluss zu gewärleisten, werde ich den Gegnern einfach die Möglichkeit nehmen sich in Y-Richtung zu bewegen und dadurch erreichen das ich lediglich noch abfragen muss, wann ein Schuss Hinter dem X-Minimum des Gegners ist und dabei zwischen Y-Mini- und Maximum liegt... Für Y bräuchte ich dann wirklich nur Y3 und Y4, egal wie man es sieht, da es nicht soo wichtig ist das jeder Streifschuss funktioniert. Dann werde ich einfach die Y-Schussgröße auf 1 setzen, wodurch die wahrscheinlichkeit sehr hoch ist das man trifft...
    Werde mal versuchen wie sich das auf die Performance auswirkt...

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •