Risiko - Struktur sinnvoll?

Mujahiddin

Top Contributor
Tag.
Ich bin momentan dabei, Risiko zu programmieren, und bin bisher schon sehr weit gekommen.
Es ist nicht so, dass ich an einer Stelle angelangt bin, wo ich nicht mehr weiterkomme. Vielmehr will ich lieber fragen, ob die Struktur, die ich zu Risiko verwende, sinnvoll ist.
Und zwar habe ich eine Klasse Team, welche auf die besitzergriffenen Länder verweist, Farbe und Namen beinhaltet. Die Klasse 'Country' verweist auf Country (nachbarländer) und auf ein Unit-Array, welches aussagt, wie viele Units auf diesem Land stationiert sind. Die Klasse Unit wiederum verweist auf ein Land (countryStationated) und auf ein Team, welches er angehört.
Ich dachte mir, es ist sehr unprofessionell, eine Klasse Land zu haben, welches auf 'Unit' zugreift, und umgekehrt die Units auch auf das Land verweisen. Ich werde, wenn Zustimmungen kommen, aber meine Struktur nicht über den Haufen werfen. Ich sehe es eher als ein 'Ratgeber'-Thread für zukünftige Projekte. Was meint ihr? Unprofessionell? Oder irr ich mich da?

Liebe Grüße,
Mujahiddin
 

Anhänge

  • Risiko UML.jpg
    Risiko UML.jpg
    56,7 KB · Aufrufe: 109
Zuletzt bearbeitet:

Mujahiddin

Top Contributor
Okay, ich habe nun ein UML Diagramm:
Ist dem Anhang als .jpg beigefügt (1. Post!!)
Ich glaube, dass es soweit richtig ist, die Pfeile und so - weiß nicht, ob die richtig gewählt sind ^^ Aber im Großen sollte das schon viel aussagen

MfG
 
Zuletzt bearbeitet:

Steev

Bekanntes Mitglied
Eigendlich müsste es ausreichen, wenn die Einheit weis, in welchem Land sie stationiert ist. Ansonsten, denke ich. Ist die Struktur doch gar nicht so schlecht :) Hab schon schlimmeres gesehen.
 

Mujahiddin

Top Contributor
Bei der Struktur würde das nicht ausreichen.
Wenn ein Land mit sagen wir mal 20 Einheiten ein Land mit 10 Einheiten angreift (zuerst wird natürlich abgecheckt, obs ein feindliches Team ist und ein Nachbar des Angreiferlandes ist), dann hat man ja sozusagen keinen Bezug mehr auf ein Unit, und kann ein Unit nicht mehr über das Land entfernen.
Deshalb habe ich das so gemacht.
Wenn Angreifer z.B. ein Unit verliert, gehe ich so vor: "attackerCountry.removeUnit();"
und wenn ein Land abgegeben wird, also verloren wird:
"defenderCountry.owners[0].team.lostCountry(defenderCountry);
attackerCountry.owners[0].team.capturedCountry(defenderCountry);"
 

Geeeee

Bekanntes Mitglied
1. Du könntest deine Map "nur" mit Kontinenten füllen, die ja wiederum die Länder zurückgeben.
2. Muss denn dann die Unit überhaupt wissen, in welchem Land sie stationiert ist? Natürlich ist das vom "Blickwinkel" abhängig. Laut deinen kleinen Beispiel-Methodenaufrufe wäre es ja nicht wirklich notwendig.
 

Ähnliche Java Themen


Oben