diff --git a/ArmySchubser.java b/ArmySchubser.java index 4691f74..3ba98bf 100644 --- a/ArmySchubser.java +++ b/ArmySchubser.java @@ -15,8 +15,9 @@ public class ArmySchubser extends Map_World * Constructor for objects of class ArmySchubser. * */ - public ArmySchubser() + public ArmySchubser(String[] playerList, int[] colorList) { + super(playerList,colorList); // Hi. } @@ -25,7 +26,7 @@ public class ArmySchubser extends Map_World Province firstProvince = null; Province secondProvince = null; - for ( int i = 0; i <= provinceCount; i++) + for ( int i = 1; i <= provinceCount; i++) { if (provinces[i].hasClicked() == true) { @@ -34,7 +35,7 @@ public class ArmySchubser extends Map_World } } - for ( int i = 0; i <= provinceCount; i++) + for ( int i = 1; i <= provinceCount; i++) { if (provinces[i].hasClicked() == true && provinces[i] != firstProvince) { diff --git a/Dice.java b/Dice.java index a2c0b6e..d4cd8a3 100644 --- a/Dice.java +++ b/Dice.java @@ -61,25 +61,26 @@ public class Dice extends GUI_Interface { */ public void redraw() { // einheitliche Größe X und Y (ein Vierzehntel der gesamten Breite und Höhe) - int eX = (int) Math.Round(sx/8); - int eY = (int) Math.Round(sy/8); + int eX = (int) Math.round(sx/8); + int eY = (int) Math.round(sy/8); // Vereinfachung für die Augenzahl int a = number; GreenfootImage i = new GreenfootImage(sx,sy); i.setColor(new java.awt.Color(0,0,0,0)); i.clear(); i.setColor(backC); - i.fillShape(0,0,sx,sy,eX/2,eY/2); + i.fillShape(new java.awt.geom.RoundRectangle2D.Double(0,0,sx,sy,eX/2,eY/2)); i.setColor(foreC); + // das "else" fehlt absichtlich if(a==1||a==3||a==5) { //Mittlerer Punkt fO(i,eX,eY,3,3); - } else if(a>1) { //Punkte links-oben und rechts-unten + } if(a>1) { //Punkte links-oben und rechts-unten fO(i,eX,eY,1,1); fO(i,eX,eY,5,5); - } else if(a>3) { //Punkte links-unten und rechts-oben + } if(a>3) { //Punkte links-unten und rechts-oben fO(i,eX,eY,1,5); fO(i,eX,eY,5,1); - } else if(a>5) { //Punkte links-mitte und rechts-mitte + } if(a>5) { //Punkte links-mitte und rechts-mitte fO(i,eX,eY,1,3); fO(i,eX,eY,5,3); } diff --git a/GUI_Interface.java b/GUI_Interface.java index 29fd7f0..8b2262e 100644 --- a/GUI_Interface.java +++ b/GUI_Interface.java @@ -12,11 +12,11 @@ public abstract class GUI_Interface extends Actor /** Die Breite des Objektes */ - protected int sx = 1; + protected int sx = 20; /** Die Höhe des Objektes */ - protected int sy = 1; + protected int sy = 20; /** Die Hintergrundfarbe des Objektes */ diff --git a/GeneralMap.java b/GeneralMap.java index 4736d2b..01ce194 100644 --- a/GeneralMap.java +++ b/GeneralMap.java @@ -27,7 +27,11 @@ public abstract class GeneralMap extends World */ public GeneralMap(String backImage, String[] playerList, int[] colorList) { - + super(1600,900,1); + players = new Player[playerList.length]; + for (int i = 0; i < playerList.length; i++) { + players[i] = new Player(i,playerList[i],colorList[i]); + } } /** @@ -35,7 +39,7 @@ public abstract class GeneralMap extends World */ public int getPlayerCount() { - return playerList.length; + return players.length; } /** @@ -86,9 +90,9 @@ public abstract class GeneralMap extends World { int[] prOwners = new int[provinces.length]; for (int i = 1; i > provinces.length; i++) { - prOwners[i] = provinces.getOwner(); + prOwners[i] = provinces[i].getOwner(); } - return pwOwners; + return prOwners; } /** @@ -104,6 +108,7 @@ public abstract class GeneralMap extends World c = c + provinces[i].getEntityCount(); } } + return c; } } diff --git a/Map_World.java b/Map_World.java index 2a3e5fa..e3f39db 100644 --- a/Map_World.java +++ b/Map_World.java @@ -21,28 +21,14 @@ public class Map_World extends GeneralMap * konstruiert eine GeneralMap mit den Ausmassen 1600 auf 900 Pixel. */ - public Map_World() + public Map_World(String[] playerList, int[] colorList) { - super(1600,900,1); - Province[] provinces; - - /** + super("",playerList,colorList); + /* * Hier werden später sämtliche Provinzen der Standard-Map erstellt. * Dies funktioniert folgendermassen: * ================================================================= * - * VERALTETER KOMMENTAR VON GruenerWal: - * Im Folgenden wird nun jede Provinz einzeln erstellt: - * |--- - * nextProvinces = new int[]; - * - * provinces[] = new Province(,,,,,"",nextProvinces); - * addObject(provinces[],,); - * ---| - * - * ================================================================= - * - * NEUES FORMAT VON FELIX STUPP: * Dieses kürzere Format ersetzt den langen Code und sorgt eventuell sogar für einen Geschwindigkeitsschub. Dabei sollte diesselbe Funktionalität erhalten bleiben. * * provinces[] = new Province(,,,,,"", new int[] { }); diff --git a/Player.java b/Player.java index 2fa05c0..3d5d2fe 100644 --- a/Player.java +++ b/Player.java @@ -22,11 +22,13 @@ public class Player extends Actor boolean lostProv = false; private String n; + private int c; //definiert die ID und Namens Variable - public Player( int identity,String name) + public Player( int identity,String name, int color) { n = name; id = identity; + c = color; } //gibt die Spieler ID zurück public int getID() @@ -39,12 +41,12 @@ public class Player extends Actor return n; } //gibt die Sternenanzahl zurück - private int getStars () + public int getStars () { return stars; } // erhöht die Sternenzahl um eine random ausgewählte Anzahl von 1-3 - private void addToStars () + public void addToStars () { int rand; @@ -120,11 +122,11 @@ public class Player extends Actor return provZahl; } - private void gotEntities(int gotEnt) + public void gotEntities(int gotEnt) { stats[3]+= gotEnt; } - private void lostEntity() + public void lostEntity() { stats[4]+=1; } @@ -135,7 +137,7 @@ public class Player extends Actor stats[5]=entNumber; } } - private boolean[] getMyProvinces() + public boolean[] getMyProvinces() { GeneralMap w= getWorld(); int[] provinces = w.getProvinceOwners(); @@ -186,7 +188,7 @@ public class Player extends Actor { return lostProv; } - private int[] getStatistics() + public int[] getStatistics() { return stats; }