Jump to content
Unity Insider Forum
q3max

Zone of Control in TBS Game

Recommended Posts

Hallo,

ich habe in meine TBS den Dijkstra Alogrithmus für die Wegfindung und das finden aller erreichbaren Felder für eine Einheit erfolgreich implementiert.

Nun wollte ich diese Zone of Control einbauen, also die Felder um Gegnerische Einheiten die man nicht mehr einfach durchschreiten kann.

Der Dijkstra Alog ist 1:1 nach dem Pseudocode von der Wikipedia Seite geschrieben.

Meine Idee war das beim durchlaufen der Nachbarn,

 6          für jeden Nachbarn v von u:
 7              falls v in Q:                            // falls noch nicht berechnet
 8                 distanz_update(u,v,abstand[],vorgänger[])   // prüfe Abstand vom Startknoten zu v 

ich in der distanz_update Funktion nochmals für jeden Nachbarn prüfe ob der seinerseits eine Feindeinheit als Nachbar besitzt und dann dort den alternativ wert anders berechnen muss.

Ich komme hier aber auf keine grünen Zweig.

 1  Methode distanz_update(u,v,abstand[],vorgänger[]):
 2      alternativ:= abstand[u] + abstand_zwischen(u, v)   // Weglänge vom Startknoten nach v über u
 3      falls alternativ < abstand[v]:
 4          abstand[v]:= alternativ
 5          vorgänger[v]:= u

über Tips, Vorschläge würde ich mich freuen.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×