merge the new developmentbranch into the test branch #39
@@ -2,6 +2,8 @@
|
||||
|
||||
import com.jme3.network.serializing.Serializable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* This enumeration represents the four different TSK colors that a player can choose.
|
||||
* Additionally, the NONE color indicates the absence of a color.
|
||||
@@ -48,15 +50,16 @@ public static Color getColorByIndex(int index) {
|
||||
*
|
||||
* @return color as a Color Enumeration.
|
||||
*/
|
||||
public Color next() {
|
||||
Color[] colors = values();
|
||||
int nextIndex = (this.ordinal() + 1) % colors.length;
|
||||
public Color next(Game game) {
|
||||
ArrayList<Color> colorsInGame = new ArrayList<>();
|
||||
|
||||
if (colors[nextIndex] == NONE) {
|
||||
nextIndex = (nextIndex + 1) % colors.length;
|
||||
for(Player p : game.getPlayers().values()) {
|
||||
colorsInGame.add(p.getColor());
|
||||
}
|
||||
|
||||
return colors[nextIndex];
|
||||
int nextIndex = (this.ordinal() + 1) % colorsInGame.size();
|
||||
|
||||
return colorsInGame.get(nextIndex);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -35,12 +35,12 @@ public void enter() {
|
||||
LOGGER.log(System.Logger.Level.DEBUG, "Entered MovePieceState state.");
|
||||
}
|
||||
|
||||
private void setActivePlayer(Color color) {
|
||||
if (!logic.getGame().getPlayerByColor(color.next()).isFinished()) {
|
||||
logic.getGame().setActiveColor(logic.getGame().getActiveColor().next());
|
||||
logic.getServerSender().broadcast(new ActivePlayerMessage(color.next()));
|
||||
private void setActivePlayer(Color activePlayer) {
|
||||
if (!logic.getGame().getPlayerByColor(activePlayer.next(logic.getGame())).isFinished()) {
|
||||
logic.getGame().setActiveColor(logic.getGame().getActiveColor().next(logic.getGame()));
|
||||
logic.getServerSender().broadcast(new ActivePlayerMessage(activePlayer.next(logic.getGame())));
|
||||
} else {
|
||||
setActivePlayer(color.next());
|
||||
setActivePlayer(activePlayer.next(logic.getGame()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -23,11 +23,11 @@ public NoTurnState(ChoosePieceState choosePieceAutomaton, ServerGameLogic logic)
|
||||
}
|
||||
|
||||
private void setActivePlayer(Color color) {
|
||||
if (!logic.getGame().getPlayerByColor(color.next()).isFinished()) {
|
||||
logic.getGame().setActiveColor(logic.getGame().getActiveColor().next());
|
||||
logic.getServerSender().broadcast(new ActivePlayerMessage(color.next()));
|
||||
if (!logic.getGame().getPlayerByColor(color.next(logic.getGame())).isFinished()) {
|
||||
logic.getGame().setActiveColor(logic.getGame().getActiveColor().next(logic.getGame()));
|
||||
logic.getServerSender().broadcast(new ActivePlayerMessage(color.next(logic.getGame())));
|
||||
} else {
|
||||
setActivePlayer(color.next());
|
||||
setActivePlayer(color.next(logic.getGame()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ public void received(RequestDieMessage msg, int from) {
|
||||
if (this.logic.getGame().getNumberOfActivePlayers() == 1) {
|
||||
this.logic.getServerSender().broadcast(new CeremonyMessage());
|
||||
} else {
|
||||
this.logic.getGame().setActiveColor(this.logic.getGame().getActiveColor().next());
|
||||
this.logic.getGame().setActiveColor(this.logic.getGame().getActiveColor().next(logic.getGame()));
|
||||
this.logic.getServerSender().broadcast(new ActivePlayerMessage(this.logic.getGame().getActiveColor()));
|
||||
this.rollDiceAutomaton.getTurnAutomaton().getGameAutomaton().setCurrentState(this.rollDiceAutomaton.getTurnAutomaton().getGameAutomaton().getAnimationState());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user