added the piecetest and implemented more logic in the moveLogic

This commit is contained in:
Benjamin Feyer
2024-12-10 10:47:06 +01:00
parent d60c0347cc
commit fe95a7c159
3 changed files with 1144 additions and 41 deletions

View File

@@ -122,6 +122,7 @@ private boolean jumpOver(int stepsInHome, int homeIdx, boolean outside) {
//tests if the piece comes from the outside in the home
if (outside) {
System.out.println("Server: jumpOver: for the homeIndex: " + homeIdx + " ,stepsInHome: " + stepsInHome + " , outside: " + outside + " annd the targetIndex: " + stepsInHome);
if(stepsInHome>3) return true;
if (logic.getGame().getActivePlayer().getHomeNodes()[stepsInHome].isOccupied()) return true;
for (int i = 0; i <= stepsInHome; i++) {
if (logic.getGame().getActivePlayer().getHomeNodes()[i].isOccupied()) return true;
@@ -131,6 +132,7 @@ private boolean jumpOver(int stepsInHome, int homeIdx, boolean outside) {
else {
int targetIndex = stepsInHome + homeIdx;
System.out.println("Server: jumpOver: for the homeIndex: " + homeIdx + " ,stepsInHome: " + stepsInHome + " , outside: " + outside + " and the targetIndex: " + targetIndex);
if(targetIndex>3) return true;
if (logic.getGame().getActivePlayer().getHomeNodes()[targetIndex].isOccupied()) return true;
for (int i = 1 + homeIdx; i <= targetIndex; i++) {
if (logic.getGame().getActivePlayer().getHomeNodes()[i].isOccupied()) return true;

View File

@@ -73,6 +73,7 @@ public class ClientStateTest {
private WaitingState waiting;
private WaitingPieceState waitingPiece;
private WaitRankingState waitRanking;
//private todo
//declare server-messages here
private ActivePlayerMessage activePlayer;
@@ -116,9 +117,12 @@ public class ClientStateTest {
private PowerCard shieldCard;
private PowerCard turboCard;
//declare a player
//initialize ownPlayer
private Player player;
//initialize other player
private Player enemy;
//declare own piece
private Piece ownPiece= new Piece(Color.ARMY, PieceState.ACTIVE);
@@ -167,12 +171,26 @@ public void accept(Visitor visitor) {
}
};
//declare ownPlayer
//declare other player
enemy= new Player(name);
enemy.setColor(Color.CYBER);
//sets the player in the game
clientGameLogic.getGame().addPlayer(0,player);
clientGameLogic.getGame().addPlayer(1,enemy);
clientGameLogic.getGame().getBoard().setPieceOnBoard(15,ownPiece);
clientGameLogic.getGame().getBoard().setPieceOnBoard(25,enemyPiece);
//initialize the messages from the server
activePlayer = new ActivePlayerMessage(color);
anyPiece = new AnyPieceMessage();
briefing = new BriefingMessage();
ceremonyMessage = new CeremonyMessage();
die = new DieMessage(6);
die = new DieMessage(3);
diceAgain = new DiceAgainMessage();
diceNow = new DiceNowMessage();
endOfTurn = new EndOfTurnMessage();

File diff suppressed because it is too large Load Diff