diff --git a/GeneralMap.java b/GeneralMap.java index 9945feb..0975229 100644 --- a/GeneralMap.java +++ b/GeneralMap.java @@ -63,6 +63,7 @@ public abstract class GeneralMap extends World implements ButtonEvent addObject( modus, 1500, 808); for (int i = 0; i < playerList.length; i++) { players[i] = new Player(i,playerList[i],colorList[i]); + addObject(players[i],0,0); players[i].redrawPlayer(); } @@ -118,17 +119,17 @@ public abstract class GeneralMap extends World implements ButtonEvent } switch (playerCount) { case 6: - addObject(players[5],1512,350); + players[5].setLocation(1512,350); case 5: - addObject(players[4],1512,230); + players[4].setLocation(1512,230); case 4: - addObject(players[3],1512,110); + players[3].setLocation(1512,110); case 3: - addObject(players[2],82,350); + players[2].setLocation(82,350); case 2: - addObject(players[1],82,230); + players[1].setLocation(82,230); } - addObject(players[0],82,110); + players[0].setLocation(82,110); } /** @@ -190,6 +191,14 @@ public abstract class GeneralMap extends World implements ButtonEvent return players[pID].getColor(); } + /** + Gibt die PlayerID des aktuellen Spielers an. + @return PlayerID des aktuellen Spielers + */ + public int getCurrentPlayerID() { + return currentPlayer; + } + /** Gibt den Namen des aktuellen Spielers aus. @return Der Name des aktuellen Spielers diff --git a/Player.java b/Player.java index 284b47c..b566c6b 100644 --- a/Player.java +++ b/Player.java @@ -223,6 +223,14 @@ public class Player extends Actor } + private Color getTextCol() { + return (getWorld().getCurrentPlayerID() == id) ? new Color(0,0,0) : new Color(255,255,255); + } + + private Color getTransBackCol() { + return (getWorld().getCurrentPlayerID() == id) ? new Color(255,255,255) : new Color(0,0,0); + } + public void redrawPlayer() { int textSize = 20; @@ -231,8 +239,8 @@ public class Player extends Actor n = "leererSpieler"; } GreenfootImage statistics = new GreenfootImage(137,120); - GreenfootImage Name = new GreenfootImage(n,textSize,new Color(0,0,0),new Color(1.0f,1.0f,1.0f,0.5f)); - statistics.drawImage(Name,0,0); + GreenfootImage name = new GreenfootImage(n,textSize,getTextCol(),getTransBackCol()); + statistics.drawImage(name,0,0); setImage(statistics); oDecide(statistics,textSize); @@ -241,45 +249,27 @@ public class Player extends Actor private void oDecide(GreenfootImage statistics,int textSize) { GreenfootImage flag = new GreenfootImage("images\\BlaueArmee.jpg"); - redraw(statistics,flag,textSize); switch(color) { case 2: flag = new GreenfootImage("images\\BlaueArmee.jpg"); - - redraw(statistics,flag,textSize); break; case 5: flag = new GreenfootImage("images\\GelbeArmee.jpg"); - - redraw(statistics,flag,textSize); break; case 6: flag = new GreenfootImage("images\\LilaArmee.jpg"); - - redraw(statistics,flag,textSize); break; case 4: flag = new GreenfootImage("images\\RoteArmee.jpg"); - - redraw(statistics,flag,textSize); break; case 1: flag = new GreenfootImage("images\\SchwarzeArmee.jpg"); - - redraw(statistics,flag,textSize); break; case 3: flag = new GreenfootImage("images\\GrueneArmee.jpg"); - redrawArrow(statistics,flag,textSize); break; } - - } - - private void redrawArrow(GreenfootImage statistics,GreenfootImage flag, int textSize) - { - // redraw(statistics,flag,textSize); redraw(statistics,flag,textSize); } @@ -287,7 +277,7 @@ public class Player extends Actor { flag.scale(137,83); statistics.drawImage(flag,0,textSize); - GreenfootImage playerStatistics = new GreenfootImage(stats[0] + "||" + stats[1] + "||" + stats[2] + "||" +stats[3] + "||" + stats[4] + "||" + stats[5],textSize,new Color(0,0,0),new Color(1.0f,1.0f,1.0f,0.5f)); + GreenfootImage playerStatistics = new GreenfootImage(stats[0] + "||" + stats[1] + "||" + stats[2] + "||" +stats[3] + "||" + stats[4] + "||" + stats[5],textSize,getTextCol(),getTransBackCol()); statistics.drawImage(playerStatistics, 0, 103); setImage(statistics);