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() - { - } -}