diff --git a/.gitignore b/.gitignore index e484cd7..4a9da91 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ hs_err_pid* *.ctxt *.greenfoot .vscode/ +*~$* diff --git a/.vscode/settings.json b/.vscode/settings.json index 0180423..1a124ba 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -6,6 +6,9 @@ "*.class": true, "*.ctxt": true, "project.greenfoot": true, - "**/.vscode": true + "**/.vscode": true, + "*.ods": true, + "*.xls": true, + "*.xlsx": true } } \ No newline at end of file diff --git a/planung/architektur.md b/planung/architektur.md index ec321fc..1869653 100644 --- a/planung/architektur.md +++ b/planung/architektur.md @@ -4,7 +4,9 @@ **Stand: 10.04.2016** (TT.MM.JJJJ / DD.MM.YYYY) -[Hier die neuste Version vom Master-Branch sehen](https://github.com/HGE-IT-Course-2016/zweiundvierzig/blob/master/planung/architektur.md Link zu GitHub.com) +[Hier die neuste offizielle Version vom Master-Branch sehen](https://github.com/HGE-IT-Course-2016/zweiundvierzig/blob/master/planung/architektur.md) + +[Hier zur übersichtlicheren Funktionsliste](https://github.com/HGE-IT-Course-2016/zweiundvierzig/blob/master/planung/funktionsliste.md) Hier ein möglicher Architekturplan von *Felix Stupp*. Dieser Plan wird regelmäßig angepasst, oben am Datum zu erkennen. @@ -21,8 +23,6 @@ Die englischen Begriffe *World* und *Actor* stehen für die gegebenen Oberklasse ### Generell -- Alle Funktionen, die einen Wert für ihre Eigenschaft festlegen sollen, sollen auch den aktuellen Wert, denn sie dann gegebenenfalls eintragen (beziehungsweise den alten Wert, falls aus irgend einem Grund doch nichts geändert wird), wieder zurückgeben, um im Code später Abkürzungen verwenden zu können oder direkt die Änderung überprüfen zu können. - - Allgemein wird vom Konstruktor erwartet, dass er alle feste Eigenschaften einer Klasse in der Reihenfolge, wie hier in den Listen vorzufinden, und als die angegebenen Typen annimmt und korrekt speichert. Es kann aber auch spezifische Konstruktoren geben. ### Tipps @@ -179,11 +179,11 @@ Speichert Informationen zu den einzelnen Provinzen ab und stellt diese später a ### Explizite Eigenschaften -- Provinznummer (fest, **int**) -- X/Y-Position auf der Karte (fest; **int**,**int**) -- Angrenzende Provinzen (fest, **boolean[]**) -- Anzeigename (fest, **String**) -- Sterne (fest, **int**) +- Provinznummer (über Konstruktor festgelegt, **int**) +- X/Y-Position auf der Karte (über Konstruktor festgelegt; **int**,**int**) +- Angrenzende Provinzen (über Konstruktor festgelegt, **boolean[]**) +- Anzeigename (über Konstruktor festgelegt, **String**) +- Sterne (über Konstruktor festgelegt, **int**) - Besitzer - Einheitenanzahl @@ -220,7 +220,7 @@ Dieser Wert wird für die zufällige Verteilung von Einheiten benötigt (laut Ac Über die Methode **int getOwner()** bekommt ihr den aktuellen Besitzer zurück (-1 = keiner, 0 = Spieler 1, ...). -Die Methode **setOwner(int)** speichert einen neuen Besitzer ab. +Die Methode **boolean setOwner(int)** speichert einen neuen Besitzer ab. Sie gibt den Erfolg des Setzens zurück, falls also die Zahl kleiner -1 oder größer gleich als die Spieleranzahl sein sollte, wird die Änderung nicht durchgeführt und es wird **false** zurückgegeben. #### Einheitenanzahl @@ -245,8 +245,8 @@ Stellt die Spieler da, speichert Informationen zu diesen ab. Wird von der Weltka ### Explizite Eigenschaften -- Spielernummer (fest, **int**) -- Anzeigename (fest, **String**) +- Spielernummer (über Konstruktor festgelegt, **int**) +- Anzeigename (über Konstruktor festgelegt, **String**) - Sternanzahl - Statistiken 1. Eroberte Provinzen @@ -272,7 +272,7 @@ Ist der lesbare Name des Spielers, damit nicht nur "Spieler 1", ... usw. zu sehe Die Anzahl der Sterne, die ein Spieler besitzt und gegebenenfalls dann in Einheiten umtauschen kann. -**int getStars()**, **int addToStars(int)**, **int removeFromStars(int)**, **int setStars(int)** sind zum Bearbeiten des Werts da. +**int getStars()**, **int addToStars(int)**, **int removeFromStars(int)**, **int setStars(int)** sind zum Bearbeiten des Werts da. Auch sie geben danach den nun aktuellen Wert zurück. **boolean canStarsRemoved(int)** gibt zurück, ob der Spieler diese Anzahl an Sternen verwenden kann (Vereinfachung). @@ -300,6 +300,10 @@ Diese Methode muss zwingend mit der Welt interagieren, um diese Informationen zu Gibt die Anzahl der Provinzen, die der Spieler hat, zurück. Gut für die Statistik und die Anzeigen. +#### redrawPlayer() + +Erzwingt das erneute Zeichnen des Player Objekts, um alle sichtbaren Eigenschaften erneut zu zeichnen. + --- ## Dice diff --git a/planung/funktionsliste.md b/planung/funktionsliste.md new file mode 100644 index 0000000..9693d42 --- /dev/null +++ b/planung/funktionsliste.md @@ -0,0 +1,90 @@ +# Funktionsliste Zweiundvierzig + +**Version: 2** + +**Stand: 10.04.2016** (TT.MM.JJJJ / DD.MM.YYYY) + +[Hier die neuste offizielle Version vom Master-Branch sehen](https://github.com/HGE-IT-Course-2016/zweiundvierzig/blob/master/planung/funktionsliste.md) + +[Hier zum gesamten Architekturplan](https://github.com/HGE-IT-Course-2016/zweiundvierzig/blob/master/planung/architektur.md) + +Hier einfach eine grobe Übersicht über alle Funktionen, die jede Klasse als Public / Protected besitzen soll. + +Dies könnt auch als Checkliste nehmen, um zu sehen, ob ihr bereits alle Funktionen im Code präsent habt. + +## GeneralMap + +- **static GeneralMap generateMap(int mapID, ...)** + +- **int getPlayerCount()** +- **String getPlayerName()** +- **String getPlayerName(int)** +- **int getPlayerStars()** +- **int getProvinceOwner(int)** +- **int[] getProvinceOwners()** +- **int getProvinceEntityCount(int)** +- **int getProvincesEntityCounts(int[])** +- **int getProvincesEntityCounts(boolean[])** +- **int getProvincesEntityCounts(int)** + +## Province + +- **Province(int, int, int, boolean[], String, int)** + +- **int getID()** +- **boolean isProvinceNear(int)** +- **String getDisplayName()** +- **int getStars()** +- **int getOwner()** +- **setOwner(int)** +- **int getEntityCount()** +- **int addToEntities(int)** +- **int removeFromEntities(int)** +- **int setEntityCount(int)** + +- **redrawProvince()** + +## Player + +- **Player(int, String)** + +- **int getID()** +- **String getDisplayName()** +- **int getStars()** +- **int addToStars(int)** +- **int removeFromStars(int)** +- **int setStars(int)** +- **boolean cnaStarsRemoved(int)** + +- **int[] getStatistics()** +- **gotProvince()** +- **lostProvince()** +- **gotEntities(int)** +- **lostEntity()** + +- **boolean[] getMyProvinces()** +- **int getProvinceCount()** +- **redrawPlayer()** + +## Dice + +- **Dice()** + +- **int getNumber()** + +- **int roll()** + +## GUI_Interface + +*Noch unvollständig* + +## Label + +*Noch unvollständig* + +- **String getText()** +- **String setText(String)** + +## Button + +*Noch unvollständig* \ No newline at end of file