From fe5c23724aece546b6ddbd58491dc487a2cc944c Mon Sep 17 00:00:00 2001 From: Tilman Crosetti Date: Thu, 17 Apr 2025 11:28:13 +0200 Subject: [PATCH] ToString method and swap BK/BQ --- OOP_2B1_Project/src/backend/Board.java | 37 ++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/OOP_2B1_Project/src/backend/Board.java b/OOP_2B1_Project/src/backend/Board.java index 5be3593..ea8d039 100644 --- a/OOP_2B1_Project/src/backend/Board.java +++ b/OOP_2B1_Project/src/backend/Board.java @@ -53,7 +53,6 @@ private ArrayList highlightedPositions = new ArrayList<>(); public void setPiece(boolean isWhite, PieceType type, int x, int y) { - pieces.add(new Piece(isWhite, type, x, y)); @@ -73,9 +72,9 @@ private ArrayList highlightedPositions = new ArrayList<>(); setPiece(true,PieceType.Bishop,5,0); setPiece(false,PieceType.Bishop,2,7); setPiece(false,PieceType.Bishop,5,7); - setPiece(true,PieceType.King,3,0); + setPiece(true,PieceType.King,4,0); setPiece(false,PieceType.King,3,7); - setPiece(true,PieceType.Queen,4,0); + setPiece(true,PieceType.Queen,3,0); setPiece(false,PieceType.Queen,4,7); for (int i=0;i<8;i++) { setPiece(true,PieceType.Pawn,i,1); @@ -102,8 +101,36 @@ private ArrayList highlightedPositions = new ArrayList<>(); public String toString() { - //TODO - return ""; + StringBuilder sb = new StringBuilder(); + + for (int y = Height - 1; y >= 0; y--) { + for (int x = 0; x < Width; x++) { + Piece pieceAtPos = null; + for (Piece p : pieces) { + if (p.getX() == x && p.getY() == y) { + pieceAtPos = p; + break; + } + } + + if (pieceAtPos != null) { + char colorChar = pieceAtPos.isWhite() ? 'W' : 'B'; + String typeChar = pieceAtPos.getType().getSummary(); + sb.append(colorChar).append(typeChar); + } else { + sb.append(" , "); + } + + sb.append(" "); + } + sb.append("\n"); + } + + sb.append("Turn: ").append(turnIsWhite ? "White" : "Black"); + sb.append(" (Turn number: ").append(turnNumber).append(")\n"); + + return sb.toString(); + } public void userTouch(int x, int y) {