From 0ea5fbaa497c371a841fc6a1595a2d59dea48feb Mon Sep 17 00:00:00 2001 From: Lucie Date: Thu, 24 Apr 2025 19:49:35 +0200 Subject: [PATCH] everything until isSelect --- src/backend/Board.java | 107 ++++++++++++++++++---- src/backend/Piece.java | 22 ++++- src/windowInterface/JPanelChessBoard.java | 4 +- 3 files changed, 109 insertions(+), 24 deletions(-) diff --git a/src/backend/Board.java b/src/backend/Board.java index b26d389..6154b67 100644 --- a/src/backend/Board.java +++ b/src/backend/Board.java @@ -7,19 +7,23 @@ public class Board { private int colNum; private int lineNum; private Piece[][] board; + private int x; + private int y; public Board(int colNum, int lineNum) { this.colNum = colNum; this.lineNum = lineNum; this.board = new Piece[lineNum][colNum]; + x = -1; + y = -1; } public int getWidth() { - return colNum; + return this.colNum; } public int getHeight() { - return lineNum; + return this.lineNum; } public int getTurnNumber() { @@ -33,36 +37,43 @@ public class Board { } public void setPiece(boolean isWhite, PieceType type, int x, int y) { - + Piece piece = new Piece(isWhite,type,x,y); + board[y][x] = piece; } public void populateBoard() { - boolean white = true; for (int i = 0; i < lineNum; i++) { + boolean white = true; if (i == 0 || i == 1) { white = false; } for (int j = 0; j < colNum; j++) { if (i == 1 || i == 6) { - setPiece(white, PieceType.Pawn, j, i); + Piece pawn = new Piece(white, PieceType.Pawn, j, i); + board[i][j] = pawn; } else if (i == 0 || i == 7) { if (j == 0 || j == 7) { - setPiece(white, PieceType.Rook, j, i); + Piece rook = new Piece(white, PieceType.Rook, j, i); + board[i][j] = rook; } else if (j == 1 || j == 6) { - setPiece(white, PieceType.Knight, j, i); + Piece knight = new Piece(white, PieceType.Knight, j, i); + board[i][j] = knight; } else if (j == 2 || j == 5) { - setPiece(white, PieceType.Bishop, j, i); + Piece bishop = new Piece(white, PieceType.Bishop, j, i); + board[i][j] = bishop; } else if (j == 3) { - setPiece(white, PieceType.Queen, j, i); + Piece queen = new Piece(white, PieceType.Queen, j, i); + board[i][j] = queen; } else if (j == 4) { - setPiece(white, PieceType.King, j, i); + Piece king = new Piece(white, PieceType.King, j, i); + board[i][j] = king; } } @@ -71,20 +82,43 @@ public class Board { } public void cleanBoard() { - //TODO + for (int i = 0; i < lineNum; i++) { + for (int j = 0; j < colNum; j++) { + board[i][j] = null; + } + } } public String toString() { - - return ""; + String str = ""; + for (int i = 0; i < lineNum; i++) { + for (int j = 0; j < colNum; j++) { + + if (board[i][j] == null) { + str += " "; + } + else if (board[i][j].isWhite() == true) { + str += "W"; + str += board[i][j].getType().getSummary(); + } + else if (board[i][j].isWhite() == false) { + str += "B"; + str += board[i][j].getType().getSummary(); + } + + str += ","; + } + str += "\n"; + } + return str; } public ArrayList getPieces() { ArrayList pieces = new ArrayList<>(); - for (int col=0; col