From 595b31110165b0dbb52ed9053950b6691817f77e Mon Sep 17 00:00:00 2001 From: Felix Stupp Date: Tue, 7 Jun 2016 18:40:40 +0200 Subject: [PATCH] =?UTF-8?q?Projektanpassung=20an=20Architektur=20#1=20Die?= =?UTF-8?q?=20meisten=20Methoden=20in=20der=20GeneralMap=20wurden=20kommen?= =?UTF-8?q?tiert=20und=20verbessert,=20au=C3=9Ferdem=20bekam=20GeneralMap?= =?UTF-8?q?=20endlich=20nun=20wichtige=20Variablen=20dazu.=20Bei=20der=20P?= =?UTF-8?q?rovince=20Klasse=20wurde=20ein=20Import-Fehler=20nun=20endg?= =?UTF-8?q?=C3=BCltig=20behoben.=20Die=20Klassen=20Spieleranzahl,=20Spielo?= =?UTF-8?q?ptionen=20und=20Weltenauswahl=20wurden=20nun=20entfernt,=20da?= =?UTF-8?q?=20bei=20der=20neuen=20Aufgabenteilung=20diese=20unn=C3=B6tig?= =?UTF-8?q?=20wurden.=20Sie=20enthielten=20kaum=20Code,=20welcher=20aber?= =?UTF-8?q?=20f=C3=BCr=20massig=20Fehler=20sorgte.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GeneralMap.java | 187 +++++++++++++++++++++++---------------------- Province.java | 1 + Spieleranzahl.java | 32 -------- Spieloptionen.java | 21 ----- Weltenauswahl.java | 19 ----- 5 files changed, 97 insertions(+), 163 deletions(-) delete mode 100644 Spieleranzahl.java delete mode 100644 Spieloptionen.java delete mode 100644 Weltenauswahl.java diff --git a/GeneralMap.java b/GeneralMap.java index 27b1f87..4736d2b 100644 --- a/GeneralMap.java +++ b/GeneralMap.java @@ -7,98 +7,103 @@ import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) * @author GruenerWal, MaxiJohl * @version 0.2.0 */ -public class GeneralMap extends World +public abstract class GeneralMap extends World { - /** - * Felder, im Moment nur Anzahl der Provinzen - * Später evtl. weitere Werte wie Schwierigkeit denkbar - */ + /* + Felder, im Moment nur Anzahl der Provinzen + Später evtl. weitere Werte wie Schwierigkeit denkbar + */ - protected int provinzen; - - /** Konstruktor für nicht weiter definierte Map, sollte im Moment nicht benutzt werden. - * Später als Konstruktor für Default-Map denkbar. - */ - public GeneralMap(int x, int y, int p) - { - /** - * Erstellt eine leere Karte mit den übergebenen Eigenschaften - * @param x X-Ausdehnung der Welt - * @param y Y-Ausdehnung - * @param p Kantenlänge der Felder in Pixeln - */ - super(1600, 900, 1); - //addObject(new Menue_Button(),100,38); - //addObject(new Roll_Button(),84,835); - //addObject(new Roll_Button(),1513,835); - } - - static GeneralMap generateMap(int mapID) - { - //Platzhalter - return null; - } - - int getPlayerCount() - { - //Platzhalter - return 4; - } - - String getPlayerName() - { - //Platzhalter - return null; - } - - String getPlayerName(int plID) - { - //Platzhalter - return null; - } - - int getPlayerStars() - { - //Platzhalter - return 0; - } - - int getProvinceOwner(int prID) - { - //Platzhalter - return 0; - } - - int[] getProvinceOwners() - { - //Platzhalter; viel Arbeit :3 - int[] provinceOwners = new int[1]; - provinceOwners[0] = 0; - return provinceOwners; - } - - int getProvinceEntityCount(int prID) - { - //Platzhalter - return 0; - } - - int getProvincesEntityCounts(int[] prArr) - { - //Platzhalter - return 0; - } - - int getProvincesEntityCounts(boolean[] prArr) - { - //Platzhalter - return 0; - } - - int getProvincesEntityCounts(int plID) - { - //Platzhalter - return 0; - } + protected Province[] provinces; + protected Player[] players; + + protected int currentPlayer = 0; + + /** + Erstellt eine GeneralMap mit allen Eigenschaften und initialisiert die Arrays für Provinzen und Spieler. + @param backImage Das Hintergrundbild, welches von dieser Klasse geladen und dargestellt wird. + @param playerList Die Liste mit den Namen der Spieler + @param colorList Die Liste mit den Farben der Spieler + */ + public GeneralMap(String backImage, String[] playerList, int[] colorList) + { + + } + + /** + Gibt die Anzahl der vorhandenen Spieler aus. + */ + public int getPlayerCount() + { + return playerList.length; + } + + /** + Gibt den Namen des aktuellen Spielers aus. + @return Der Name des aktuellen Spielers + */ + public String getPlayerName() + { + return players[currentPlayer].getDisplayName(); + } + + /** + Gibt den Namen des Spielers aus, dem dessen ID gehört. + @param plID Die ID des zu findenden Spielers + @return Der Name des Spielers + */ + public String getPlayerName(int plID) + { + return players[plID].getDisplayName(); + } + + /** + Gibt die Anzahl der Sterne des aktuellen Spielers zurück. + @return Die Anzahl der Sterne des aktuellen Spielers + */ + public int getPlayerStars() + { + return players[currentPlayer].getStars(); + } + + /** + Gibt die ID des Spielers zurück, dem die gefragte Provinz gehört. + @param prID Die gefragte Provinz + */ + public int getProvinceOwner(int prID) + { + if(prID < 1 || prID > provinces.length) { + return -1; + } + return provinces[prID].getOwner(); + } + + /** + Gibt eine Liste mit allen Provinzen und deren Besitzern zurück. + @return Array mit der Provinz-ID als Index und dem Besitzer als Wert + */ + public int[] getProvinceOwners() + { + int[] prOwners = new int[provinces.length]; + for (int i = 1; i > provinces.length; i++) { + prOwners[i] = provinces.getOwner(); + } + return pwOwners; + } + + /** + Zählt die Anzahl der Einheiten von allen Provinzen zusammen, die einem bestimmten Spieler gehört. + @param playerID Die ID des Spielers, für den die Einheiten gezählt werden sollen. + @return Die Anzahl der Einheiten, die dem Spieler gehören. + */ + public int getProvinceEntityCount(int playerID) + { + int c = 0; + for (int i = 1; i > provinces.length; i++) { + if(provinces[i].getOwner() == playerID) { + c = c + provinces[i].getEntityCount(); + } + } + } } diff --git a/Province.java b/Province.java index f458acc..6d0996a 100644 --- a/Province.java +++ b/Province.java @@ -1,4 +1,5 @@ import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) +import java.awt.Color; /** * Write a description of class Province here. diff --git a/Spieleranzahl.java b/Spieleranzahl.java deleted file mode 100644 index 15730ea..0000000 --- a/Spieleranzahl.java +++ /dev/null @@ -1,32 +0,0 @@ -import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) - -/** - * Write a description of class Spieleranzahl here. - * - * @author (your name) - * @version (a version number or a date) - */ -public class Spieleranzahl extends Spieloptionen -{ - - /** - * Constructor for objects of class Spieleranzahl. - * - */ - public Spieleranzahl() - { - addObject (new Button(), 100, 300); - } - - public void act() - { - if (handler.buttonClicked(this)); - { - int s; - if (s > 3) - { - int s = Spieleranzahl; - } - } - } -} diff --git a/Spieloptionen.java b/Spieloptionen.java deleted file mode 100644 index 161a488..0000000 --- a/Spieloptionen.java +++ /dev/null @@ -1,21 +0,0 @@ -import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) - -/** - * Write a description of class Spieloptionen here. - * - * @author (your name) - * @version (a version number or a date) - */ -public class Spieloptionen extends World -{ - - /** - * Constructor for objects of class Spieloptionen. - * - */ - public Spieloptionen() - { - // Create a new world with 600x400 cells with a cell size of 1x1 pixels. - super(600, 400, 1); - } -} diff --git a/Weltenauswahl.java b/Weltenauswahl.java deleted file mode 100644 index f2458d9..0000000 --- a/Weltenauswahl.java +++ /dev/null @@ -1,19 +0,0 @@ -import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) - -/** - * Write a description of class Weltenauswahl here. - * - * @author (your name) - * @version (a version number or a date) - */ -public class Weltenauswahl extends Spieloptionen -{ - - /** - * Constructor for objects of class Weltenauswahl. - * - */ - public Weltenauswahl() - { - } -}