Provincen mit Bsp

GeneralMap-Provincen
MaxiJohl 8 years ago committed by GitHub
parent 7e7491c541
commit 00a0ac179b

@ -2,133 +2,144 @@ import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.lang.Math; import java.lang.Math;
/** /**
Oberklasse für verschiedene Maps; Oberklasse für verschiedene Maps;
neue Maps werden als Unterklasse dieser Klasse eingefügt. neue Maps werden als Unterklasse dieser Klasse eingefügt.
@author GruenerWal, MaxiJohl, Felix Stupp @author GruenerWal, MaxiJohl, Felix Stupp
@version 0.3.0 @version 0.3.0
*/ */
public abstract class GeneralMap extends World public abstract class GeneralMap extends World
{ {
/* /*
Felder, im Moment nur Anzahl der Provinzen Felder, im Moment nur Anzahl der Provinzen
Später evtl. weitere Werte wie Schwierigkeit denkbar Später evtl. weitere Werte wie Schwierigkeit denkbar
*/ */
private final int X_OFFSET = 0; // Verschiebt die Provinzen nach rechts private final int X_OFFSET = 0; // Verschiebt die Provinzen nach rechts
private final int Y_OFFSET = 0; // Verschiebt die Provinzen nach unten private final int Y_OFFSET = 0; // Verschiebt die Provinzen nach unten
/* /*
Die einzelnen Positionen der Provinzen wird mit SCALE_VALUE/10000 multipliziert. Die einzelnen Positionen der Provinzen wird mit SCALE_VALUE/10000 multipliziert.
Dies ist nützlich, wenn die Karte beispielsweise nur noch 80% der Originalgröße bei ihrer Darstellung groß ist. Dies ist nützlich, wenn die Karte beispielsweise nur noch 80% der Originalgröße bei ihrer Darstellung groß ist.
Bei diesem Beispiel wäre hier, neben dem Offset oben, der Wert 0.8 einzutragen. Bei diesem Beispiel wäre hier, neben dem Offset oben, der Wert 0.8 einzutragen.
*/ */
private final double SCALE_VALUE = 1; private final double SCALE_VALUE = 1;
protected Province[] provinces; protected Province[] provinces;
protected Player[] players; protected Player[] players;
protected int currentPlayer = 0; protected int currentPlayer = 0;
/** /**
Erstellt eine GeneralMap mit allen Eigenschaften und initialisiert die Arrays für Provinzen und Spieler. 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 backImage Das Hintergrundbild, welches von dieser Klasse geladen und dargestellt wird.
@param playerList Die Liste mit den Namen der Spieler @param playerList Die Liste mit den Namen der Spieler
@param colorList Die Liste mit den Farben der Spieler @param colorList Die Liste mit den Farben der Spieler
*/ */
public GeneralMap(String backImage, String[] playerList, int[] colorList) public GeneralMap(String backImage, String[] playerList, int[] colorList)
{ {
super(1600,900,1); super(1600,900,1);
players = new Player[playerList.length]; players = new Player[playerList.length];
for (int i = 0; i < playerList.length; i++) { for (int i = 0; i < playerList.length; i++) {
players[i] = new Player(i,playerList[i],colorList[i]); players[i] = new Player(i,playerList[i],colorList[i]);
} }
} }
/** /**
Fügt alle Provinzen aus dem Array der Welt an der entsprechden Stelle zu. Fügt alle Provinzen aus dem Array der Welt an der entsprechden Stelle zu.
*/ */
protected void initProvinces() { protected void initProvinces() {
for(int i = 1; i < provinces.length; i++) { for(int i = 1; i < provinces.length; i++) {
addObject(provinces[i],((int) Math.floor(provinces[i].getXPos() * SCALE_VALUE)) + X_OFFSET,((int) Math.floor(provinces[i].getYPos() * SCALE_VALUE)) + Y_OFFSET); addObject(provinces[i],((int) Math.floor(provinces[i].getXPos() * SCALE_VALUE)) + X_OFFSET,((int) Math.floor(provinces[i].getYPos() * SCALE_VALUE)) + Y_OFFSET);
} }
}
if(players.length==3)
/** {
Gibt die Anzahl der vorhandenen Spieler aus. for(int a = 1; a <= 42; a++)
*/ {
public int getPlayerCount() provinces[a].setOwner(1);
{ provinces[a].setEntityCount(8);
return players.length; provinces[a].redrawProvince();
} }
}
/**
Gibt den Namen des aktuellen Spielers aus. }
@return Der Name des aktuellen Spielers
*/ /**
public String getPlayerName() Gibt die Anzahl der vorhandenen Spieler aus.
{ */
return players[currentPlayer].getDisplayName(); public int getPlayerCount()
} {
return players.length;
/** }
Gibt den Namen des Spielers aus, dem dessen ID gehört.
@param plID Die ID des zu findenden Spielers /**
@return Der Name des Spielers Gibt den Namen des aktuellen Spielers aus.
*/ @return Der Name des aktuellen Spielers
public String getPlayerName(int plID) */
{ public String getPlayerName()
return players[plID].getDisplayName(); {
} return players[currentPlayer].getDisplayName();
}
/**
Gibt die Anzahl der Sterne des aktuellen Spielers zurück. /**
@return Die Anzahl der Sterne des aktuellen Spielers Gibt den Namen des Spielers aus, dem dessen ID gehört.
*/ @param plID Die ID des zu findenden Spielers
public int getPlayerStars() @return Der Name des Spielers
{ */
return players[currentPlayer].getStars(); public String getPlayerName(int plID)
} {
return players[plID].getDisplayName();
/** }
Gibt die ID des Spielers zurück, dem die gefragte Provinz gehört.
@param prID Die gefragte Provinz /**
*/ Gibt die Anzahl der Sterne des aktuellen Spielers zurück.
public int getProvinceOwner(int prID) @return Die Anzahl der Sterne des aktuellen Spielers
{ */
if(prID < 1 || prID > provinces.length) { public int getPlayerStars()
return -1; {
} return players[currentPlayer].getStars();
return provinces[prID].getOwner(); }
}
/**
/** Gibt die ID des Spielers zurück, dem die gefragte Provinz gehört.
Gibt eine Liste mit allen Provinzen und deren Besitzern zurück. @param prID Die gefragte Provinz
@return Array mit der Provinz-ID als Index und dem Besitzer als Wert */
*/ public int getProvinceOwner(int prID)
public int[] getProvinceOwners() {
{ if(prID < 1 || prID > provinces.length) {
int[] prOwners = new int[provinces.length]; return -1;
for (int i = 1; i > provinces.length; i++) { }
prOwners[i] = provinces[i].getOwner(); return provinces[prID].getOwner();
} }
return prOwners;
} /**
Gibt eine Liste mit allen Provinzen und deren Besitzern zurück.
/** @return Array mit der Provinz-ID als Index und dem Besitzer als Wert
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. public int[] getProvinceOwners()
@return Die Anzahl der Einheiten, die dem Spieler gehören. {
*/ int[] prOwners = new int[provinces.length];
public int getProvinceEntityCount(int playerID) for (int i = 1; i > provinces.length; i++) {
{ prOwners[i] = provinces[i].getOwner();
int c = 0; }
for (int i = 1; i > provinces.length; i++) { return prOwners;
if(provinces[i].getOwner() == playerID) { }
c = c + provinces[i].getEntityCount();
} /**
} Zählt die Anzahl der Einheiten von allen Provinzen zusammen, die einem bestimmten Spieler gehört.
return c; @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();
}
}
return c;
}
} }

Loading…
Cancel
Save