diff --git a/Projekte/.run/MdgaApp.run.xml b/Projekte/.run/MdgaApp.run.xml
index cfb2a51b..f0626a72 100644
--- a/Projekte/.run/MdgaApp.run.xml
+++ b/Projekte/.run/MdgaApp.run.xml
@@ -1,9 +1,9 @@
-
+
-
+
@@ -16,4 +16,4 @@
-
+
\ No newline at end of file
diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/TurnState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/TurnState.java
index 97d0238f..ee52b0fc 100644
--- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/TurnState.java
+++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/TurnState.java
@@ -159,11 +159,6 @@ public void received(ChoosePieceStateMessage msg){
state.received(msg);
}
- @Override
- public void received(DrawCardMessage msg){
-
- }
-
public ChoosePieceState getChoosePiece() {
return choosePieceState;
}
diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/ChoosePieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/ChoosePieceState.java
index 57b7f257..226a150f 100644
--- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/ChoosePieceState.java
+++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/ChoosePieceState.java
@@ -63,7 +63,7 @@ public void received(StartPieceMessage msg){
}
@Override
- public void received(NoTurnMessage msg){
+ public void received(EndOfTurnMessage msg){
currentState.received(msg);
}
diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/choosepiecestate/NoPieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/choosepiecestate/NoPieceState.java
index 31931335..cb462f60 100644
--- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/choosepiecestate/NoPieceState.java
+++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/choosepiecestate/NoPieceState.java
@@ -70,7 +70,7 @@ public void received(StartPieceMessage msg){
}
@Override
- public void received(NoTurnMessage msg){
+ public void received(EndOfTurnMessage msg){
logic.getGame().setTurboFlag(false);
parent.getParent().getParent().setState(parent.getParent().getParent().getWaiting());
}
diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/NoPieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/NoPieceState.java
index b4f04e9b..af88e20c 100644
--- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/NoPieceState.java
+++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/NoPieceState.java
@@ -28,16 +28,14 @@ private void initialize(){
Player activePlayer = logic.getGame().getPlayerByColor(logic.getGame().getActiveColor());
if(logic.getGame().getDiceModifier() == 0){
if (logic.getGame().getDiceEyes() == 6) {
- if (activePlayer.hasPieceInWaitingArea()){
- if (!logic.getGame().getBoard().getInfield()[activePlayer.getStartNodeIndex()].isOccupied(activePlayer.getColor())){
- this.choosePieceAutomaton.setCurrentState(this.choosePieceAutomaton.getWaitingPieceState());
- } else {
- this.choosePieceAutomaton.setCurrentState(this.choosePieceAutomaton.getNoTurnState());
+ if (activePlayer.hasPieceInWaitingArea()) {
+ if (!logic.getGame().getBoard().getInfield()[activePlayer.getStartNodeIndex()].isOccupied(activePlayer.getColor())) {
+ this.choosePieceAutomaton.setCurrentState(this.choosePieceAutomaton.getWaitingPieceState());
+ return;
}
- } else {
- this.choosePieceAutomaton.setCurrentState(this.choosePieceAutomaton.getNoTurnState());
}
}
+ this.choosePieceAutomaton.setCurrentState(this.choosePieceAutomaton.getNoTurnState());
} else if (activePlayer.hasPieceInWaitingArea()) {
if (!logic.getGame().getBoard().getInfield()[activePlayer.getStartNodeIndex()].isOccupied(activePlayer.getColor())){
if (logic.getGame().getDiceEyes() == 6) {
diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/NoTurnState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/NoTurnState.java
index 368088a4..e6c4770a 100644
--- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/NoTurnState.java
+++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/NoTurnState.java
@@ -29,6 +29,7 @@ private void setActivePlayer(Color color) {
} else {
setActivePlayer(color.next(logic.getGame()));
}
+ this.choosePieceAutomaton.getTurnAutomaton().getGameAutomaton().setCurrentState(this.choosePieceAutomaton.getTurnAutomaton().getGameAutomaton().getTurnState());
}
/**
diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/visitor/ServerCardVisitor.java b/Projekte/mdga/model/src/main/java/pp/mdga/visitor/ServerCardVisitor.java
index 6050d29d..000828c1 100644
--- a/Projekte/mdga/model/src/main/java/pp/mdga/visitor/ServerCardVisitor.java
+++ b/Projekte/mdga/model/src/main/java/pp/mdga/visitor/ServerCardVisitor.java
@@ -41,7 +41,7 @@ public ServerCardVisitor(ServerGameLogic logic) {
*/
@Override
public void visit(TurboCard card) {
- for (Piece piece : this.logic.getGame().getPlayerByColor(this.logic.getGame().getActiveColor()).getPieces()) {
+ for (Piece piece : this.logic.getGame().getActivePlayer().getPieces()) {
if (piece.getState() == PieceState.ACTIVE) {
if (!this.cards.contains(card)) {
this.cards.add(card);
@@ -58,7 +58,7 @@ public void visit(TurboCard card) {
@Override
public void visit(SwapCard card) {
List possibleOwnPieces = new ArrayList<>();
- for (Piece piece : this.logic.getGame().getPlayerByColor(this.logic.getGame().getActiveColor()).getPieces()) {
+ for (Piece piece : this.logic.getGame().getActivePlayer().getPieces()) {
if (piece.getState() == PieceState.ACTIVE) {
if (!possibleOwnPieces.contains(piece)) {
possibleOwnPieces.add(piece);
@@ -68,7 +68,7 @@ public void visit(SwapCard card) {
List possibleOtherPieces = new ArrayList<>();
for (var player : this.logic.getGame().getPlayers().values()) {
- if (player != this.logic.getGame().getPlayerByColor(this.logic.getGame().getActiveColor())) {
+ if (player != this.logic.getGame().getActivePlayer()) {
for (Piece piece : player.getPieces()) {
if (piece.getState() == PieceState.ACTIVE) {
if (!possibleOtherPieces.contains(piece)) {
@@ -82,7 +82,9 @@ public void visit(SwapCard card) {
if (!possibleOtherPieces.isEmpty() && !possibleOwnPieces.isEmpty()) {
this.swapOwnPieces.addAll(possibleOwnPieces);
this.swapOtherPieces.addAll(possibleOtherPieces);
- this.cards.add(card);
+ if (!this.cards.contains(card)) {
+ this.cards.add(card);
+ }
}
}