Einheitenbewegung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Einheitenbewegung

    Mahlzeit.

    Folgendes:
    Ich tüftel gerade an einem kleinen Spiel.
    Die Karte des Spieles besteht aus einfachen Rechtecken, wobei es verschiedene Untergründe gibt.
    Z.b. Sumpf, Rasen oder Wald.
    Wenn eine Einheit dieses Feld überqueren möchte, benötigt sie eine bestimmte Anzahl an Minuten dafür, je nach Beschaffenheit.
    Für Sumpf beispielsweise 6 Minuten
    Für Wald 8 Minuten und
    Für Rasen 2 Minuten.

    Meine Einheiten können sich auch schon Problemlos über das Gebiet bewegen.
    In meiner SQL Tabelle existiert für jede Einheit ein Feld, wo sie sich gerade befindet und wo sie hin will.
    Diese beiden Felder enthalten jeweils die MapID des Feldes der Karte.

    Momentan funktioniert das System so, dass sobald die Zeit abgelaufen ist die Einheit um ein Feld weiter in Richtung Zielfeld springt.

    Nun zu meinen Problemen:

    1. Wie ist es möglich alle Felder zu selektieren, die die Einheit auf ihrem gesamten Weg zurücklegen wird?
    2. Mometan muss man den Browser aktualisieren, damit die Einheit weiterspringt, weil erst mit Reload der Seite geprüft wird, ob die Zeit der Überquerung beendet wurde.
    Zusaätzlich weiß ich, dass man einen Cronjob einrichten könnte, ich würde das ganze aber lieber Rekursiv lösen, heißt, wenn sich ein Spieler 50 Minuten nicht eingeloggt hat, soll rekursiv ermittelt werden, wie weit sich die Einheit in dieser Zeit bewegt hat.

    Meine Tabelle sehen vereinfacht so aus:

    MAP-TABELLE:
    map_id (ID eines Feldes)
    map_coordx (X Koordinate eines Feldes)
    map_coordy (Y Koordinate eines Feldes)
    map_move_time (Zeit die zur Überquerung eines Feldes benötigt wird)
    map_surface (Beschaffenheit eines Feldes)

    UNIT-TABELLE:
    unit_id (ID der Einheit)
    map_id (ID auf der sich eine Einheit befindet)
    target_id (ID eines Zielfeldes)

    Hoffe mir kann jemand helfen.
    Falls ich etwas nicht ausreichend beschreiben habe, bitte bescheid geben und fragen, ich werde dann Informationen nachreichen.

    Thx so far.

    /edit: Ich weiß dass Frage 2 besser in den PHP Bereich passt, jedoch ist mir die ANtwort auf Frage 1 wichtiger.

  • #2
    also ich würde nicht felder berechnen sondern koordinaten!

    angenommen du hast die angehängte karte

    der bereich sumpf lässt dich z.b. durch 4 koordinaten oder durch ein punkt und dessen radius bestimmen.

    nun musst du nur herausfinden wie lange der Weg in sumpf, wald etc ist und nimmst dann den Zeitaufwand in diesem Bereich mit dem gewünschten Faktor

    PS: lineare algebra kann bestimmt helfen
    Angehängte Dateien
    Killerspiele sollten in der Größenordnung von Kinder********************grafie eingeordnet werden.(G. Beckstein)
    - ...und solche Behauptungen in "falsches Resourcenmanagement"

    Kommentar

    Lädt...
    X