# Risiko - Struktur sinnvoll?



## Mujahiddin (11. Feb 2010)

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


----------



## Java.getSkill() (11. Feb 2010)

Kannst du ein UML Diagramm hochladen?

Ist es eine reine Java Applikation oder eine WebApplikation?


----------



## Mujahiddin (11. Feb 2010)

Wie kann ich denn so ein UML Diagramm erstellen (in Eclipse)?


----------



## Steev (11. Feb 2010)

UML-Diagramme kann man zum Beispiel in Violet erstellen. UML hast du aber schon gehört, oder?


----------



## Mujahiddin (11. Feb 2010)

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


----------



## Steev (11. Feb 2010)

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 (11. Feb 2010)

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 (11. Feb 2010)

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.


----------



## Mujahiddin (12. Feb 2010)

Stimmt, Geeee, da hast du Recht.
Ich hab das direkt übernommen, und es funktioniert weiterhin. - ohne 'stationated'


----------

