Strategiekarte mit verschiedenförmige Provinzen



  • Hi,
    ich überlege schon seit geraumer Zeit wie man auf einer Strategiekarte (wie http://games.cnews.ru/trophy/screens/europauniversalis3/abu.jpg) verschieden große Provinzen definiert. So wies auf dem Screen aussieht gibt es ja erstmal 4 Richtungen, wo die Grenzen entlanglaufen können. Aber wie genau definiere ich das jetzt in einer Datenbank?
    Also ich hätte jetzt den Eintrag einer Provinz und was kommt jetzt in die Spalte Grenzdefinition? Es müsste ja dann auch so sein, dass ich auf irgendeinen Pixel in der Provinz klicke und dann nähere Informationen zu ihr erhalten (oder was auch immer dann passiert, jedenfalls die Provinz muss aktiv werden).

    Irgendwie hab ich überhaupt keinen sinnvollen Ansatz dazu, wie man das gut lösen könnte.

    Ich hoffe ihr habt eine Idee dazu 🙂



  • eine Möglichkeit wäre, die Karte in lauter Vierecke/Sechsecke/sonstwas aufzuteilen, und jedem Teil zuzuordnen, zu welcher Provinz es gehört.

    eine kompliziertere Möglichkeit ist es, die Karte durch Polylinien zu trennen und jeder Fläche die Provinz zuzordnen.



  • Durch die Aufteilung in n-Ecke bekomme ich aber nicht solche Kanten und individuellen Formen rein, das ist ja gerade die Sache. 😉

    Edit: Polylinien? Was ist das?



  • edit: häh sorry. total an der fragestellung vorbeigerauscht. ich gugg vielleicht später nochma vorbei für nen längeren ansatz für dich.



  • Hängt vom Rest des Spiel ab. Wenn man auf der Karte selber rumlatscht, dann würde ich einfach die Karte nehmen und mit Farben ausmalen, Schwarz für die erste Provinz, Weiß für die zweite, Blau für die dritte, usw. Diese Provinzkarte kann der Rechner dann jederzeit nehmen, und da nachschauen, welches Pixel zu welcher Provinz gehört.

    Anderenfalls eine Dirichlet-Zerlegung. Ich will nämlich nicht dauernd die Grenzen wissen, sondern zu welcher Region ein Punkt gehört.



  • Ein Quadtree eventuell?


  • Mod

    wenn du dir die karte genau anschaust, siehst du dass es ein punktenetz ist, dass durch verbindungen zwischen den punkten die die graenze zieht.

    du hast also

    0-------1
    |\     /|
    | \   / |
    |  \ /  |
    |   X   |
    |  / \  |
    | /   \ |
    |/     \|
    2-------3
    

    du kannst also pro quadrat, pro punkt-paar, ablegen welches land es ist.
    beim klick suchst du dir das quadrat und die nahesten 2 punkte und weist so welches land.



  • Also es ist nicht nötig, dass man auf der Karte rumläuft, es ist eher wichtig, dass die Provinz, wenn man draufklickt, aufleuchtet und man dann dazu Informationen erhält. Direkt Gebäude oder Einheiten sollen nicht drauf stehen.

    Das mit dem Quadratsystem hab ich noch nicht so richtig begriffen, kannst du mir das nochmal Idiotensicher erklären?



  • irgendeinen Pixel in der Provinz klicke und dann nähere Informationen zu ihr erhalten

    Trapezoidal map in Kombination mit double connected edge list heisst das Zauberwort: http://www.amazon.de/Computational-Geometry-Applications-Mark-Berg/dp/3540779736


Anmelden zum Antworten