From 992efd403d779c2176e767e4d1fd741084d4e0f7 Mon Sep 17 00:00:00 2001 From: Fleischer Hanno Date: Sun, 8 Dec 2024 21:14:20 +0100 Subject: [PATCH] fixed waiting piece move bug --- Projekte/mdga/model/src/main/java/pp/mdga/game/Game.java | 2 +- .../mdga/model/src/main/java/pp/mdga/game/Player.java | 9 +++++++++ .../game/turn/choosepiece/WaitingPieceState.java | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/Game.java b/Projekte/mdga/model/src/main/java/pp/mdga/game/Game.java index c72d7e14..b5ac8ff3 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/Game.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/game/Game.java @@ -85,7 +85,7 @@ public Game() { gameStatistics = new Statistic(); initializeDrawPile(); board = new Board(); - die = new Die(2,1,2,2,1,3); + die = new Die(2,5,6,3,6); } /** diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/Player.java b/Projekte/mdga/model/src/main/java/pp/mdga/game/Player.java index c9f1f1c7..9402d9c3 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/Player.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/game/Player.java @@ -348,4 +348,13 @@ public void setPieceInHome(int index, Piece piece) { public String toString() { return "Player: " + name + " Color: " + color; } + + public void removeWaitingPiece(Piece piece) { + for (int i = 0; i < Resources.MAX_PIECES; i++) { + if (piece.equals(this.waitingArea[i])) { + this.waitingArea[i] = null; + return; + } + } + } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/WaitingPieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/WaitingPieceState.java index bac3f7e8..89a7a46a 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/WaitingPieceState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/WaitingPieceState.java @@ -40,6 +40,7 @@ public void enter() { @Override public void received(RequestMoveMessage msg, int from){ if (msg.getPiece().equals(this.piece)) { + logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).removeWaitingPiece(this.piece); piece.setState(PieceState.ACTIVE); Piece thrownOcc = logic.getGame().getBoard().getInfield()[logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).getStartNodeIndex()].getOccupant(); if (thrownOcc != null) {