From 21009d47643be9a760f91ec5a4ef4629f9d965bb Mon Sep 17 00:00:00 2001 From: 9611046 <newsha.shah@gmail.com> Date: Wed, 29 May 2019 16:02:00 +0430 Subject: [PATCH] getMyX(),getMyY() method in square completed and isChecked completed in main --- src/game/Main.java | 560 +++++++++++++++++++++---------------------- src/game/Square.java | 12 +- src/pieces/King.java | 2 +- 3 files changed, 282 insertions(+), 292 deletions(-) diff --git a/src/game/Main.java b/src/game/Main.java index ffbd928..3da1081 100644 --- a/src/game/Main.java +++ b/src/game/Main.java @@ -18,264 +18,251 @@ import java.util.ArrayList; */ - -public class Main extends JFrame implements MouseListener{ -//I want to make only one instance of Mainboard +public class Main extends JFrame implements MouseListener { + //I want to make only one instance of Mainboard private static Main Mainboard; - // private JButton[][] chessBoardSquares ; - private Square [][] chessBoardSquares; + private static Rook wr01, wr02, br01, br02; + private static Knight wk01, wk02, bk01, bk02; + private static Bishop wb01, wb02, bb01, bb02; + private static Pawn wp[], bp[]; + private static Queen wq, bq; + private static King wk, bk; + // private JButton[][] chessBoardSquares ; + private Square[][] chessBoardSquares; private ArrayList<JButton> outWhitePieces; - private int outWhitePiecesNum=0; + private int outWhitePiecesNum = 0; private ArrayList<JButton> outBlackPieces; - private int outBlackPiecesNum=0; - private boolean select=false; + private int outBlackPiecesNum = 0; + private boolean select = false; private Square lastSquare; private Piece lastPiece; - private ArrayList<Square> possibleMoves ; - private String whosTurn = "w"; - private boolean isMoved=false; - private JFrame myFrame; - private static Rook wr01,wr02,br01,br02; - private static Knight wk01,wk02,bk01,bk02; - private static Bishop wb01,wb02,bb01,bb02; - private static Pawn wp[],bp[]; - private static Queen wq,bq; - private static King wk,bk; + private ArrayList<Square> possibleMoves; + private String whosTurn = "w"; + private boolean isMoved = false; + private JFrame myFrame; private JButton turn; - public static void main(String[] args) { - - // Mainboard.setVisible(true); - wr01=new Rook("WR01", "src\\game\\White_Rook.png","w"); - - wr02=new Rook("WR02", "src\\game\\White_Rook.png","w"); - br01=new Rook("BR01", "src\\game\\Black_Rook.png","b"); - br02=new Rook("BR02", "src\\game\\Black_Rook.png","b"); - wk01=new Knight("WK01", "src\\game\\White_Knight.png","w"); - wk02=new Knight("WK02", "src\\game\\White_Knight.png","w"); - bk01=new Knight("BK01", "src\\game\\Black_Knight.png","b"); - bk02=new Knight("BK02", "src\\game\\Black_Knight.png","b"); - wb01=new Bishop("WB01", "src\\game\\White_Bishop.png","w"); - wb02=new Bishop("WB02", "src\\game\\White_Bishop.png","w"); - bb01=new Bishop("BB01", "src\\game\\Black_Bishop.png","b"); - bb02=new Bishop("BB02", "src\\game\\Black_Bishop.png","b"); - wq=new Queen("WQ", "src\\game\\White_Queen.png","w"); - bq=new Queen("BQ", "src\\game\\Black_Queen.png","b"); - wk=new King("WK", "src\\game\\White_King.png","w",7,3); - bk=new King("BK", "src\\game\\Black_King.png","b",0,3); - wp=new Pawn[8]; - bp=new Pawn[8]; - for(int i=0;i<8;i++) - { - wp[i]=new Pawn("WP0"+(i+1), "src\\game\\White_Pawn.png","w"); - bp[i]=new Pawn("BP0"+(i+1), "src\\game\\Black_Pawn.png","b"); - } - Mainboard = new Main(); -} -private void changeTurn(){ - if(whosTurn.equals("w")) whosTurn="b"; - else whosTurn="w"; - -} + private Main() { + chessBoardSquares = new Square[8][8]; + outBlackPieces = new ArrayList<>(16); + outWhitePieces = new ArrayList<>(16); + myFrame = new JFrame("Chess"); + Border emptyBorder = BorderFactory.createEmptyBorder(); -private Main() { - chessBoardSquares = new Square[8][8]; - outBlackPieces = new ArrayList<>(16); - outWhitePieces = new ArrayList<>(16); - myFrame = new JFrame("Chess"); - Border emptyBorder = BorderFactory.createEmptyBorder(); + myFrame.setLayout(new BorderLayout(100, 100)); + JPanel centerpanel = new JPanel(); + JPanel westPanel = new JPanel(); + westPanel.setBackground(Color.BLACK); + westPanel.setPreferredSize(new Dimension(400, 200)); + westPanel.setLayout(new BorderLayout(3, 1)); - myFrame.setLayout(new BorderLayout(100, 100)); - JPanel centerpanel = new JPanel(); - JPanel westPanel = new JPanel(); - westPanel.setBackground(Color.BLACK); - westPanel.setPreferredSize(new Dimension(400, 200)); - westPanel.setLayout(new BorderLayout(3, 1)); + JPanel northOfWest = new JPanel(); + northOfWest.setPreferredSize(new Dimension(400, 300)); + northOfWest.setBackground(new Color(51, 0, 0)); - JPanel northOfWest = new JPanel(); - northOfWest.setPreferredSize(new Dimension(400, 300)); - northOfWest.setBackground(new Color(51, 0, 0)); + northOfWest.setLayout(new GridLayout(4, 4)); - northOfWest.setLayout(new GridLayout(4,4)); + JPanel centerOfWest = new JPanel(); + centerOfWest.setPreferredSize(new Dimension(400, 100)); + centerOfWest.setBackground(new Color(153, 102, 0)); + turn = new JButton("Let's start! "); + turn.setBorder(emptyBorder); + turn.setBackground(new Color(153, 102, 0)); + turn.setFont(new Font("Arial", Font.PLAIN, 40)); + turn.setForeground(Color.black); + turn.setPreferredSize(new Dimension(300, 50)); + centerOfWest.add(turn); + JPanel southOfWest = new JPanel(); + southOfWest.setPreferredSize(new Dimension(400, 300)); + southOfWest.setBackground(new Color(51, 0, 0)); + southOfWest.setLayout(new GridLayout(4, 4)); - JPanel centerOfWest = new JPanel(); - centerOfWest.setPreferredSize(new Dimension(400, 100)); - centerOfWest.setBackground(new Color(153, 102, 0)); - turn = new JButton("Let's start! "); - turn.setBorder(emptyBorder); - turn.setBackground(new Color(153, 102, 0)); - turn.setFont(new Font("Arial", Font.PLAIN, 40)); - turn.setForeground(Color.black); - turn.setPreferredSize(new Dimension(300,50)); - centerOfWest.add(turn); + westPanel.add(northOfWest, BorderLayout.NORTH); + westPanel.add(centerOfWest, BorderLayout.CENTER); + westPanel.add(southOfWest, BorderLayout.SOUTH); - JPanel southOfWest = new JPanel(); - southOfWest.setPreferredSize(new Dimension(400, 300)); - southOfWest.setBackground(new Color(51, 0, 0)); - southOfWest.setLayout(new GridLayout(4,4)); + centerpanel.setBackground(Color.black); + JPanel eastPanel = new JPanel(); + centerpanel.setLayout(new GridLayout(8, 8)); + myFrame.add(centerpanel, BorderLayout.CENTER); + myFrame.add(westPanel, BorderLayout.WEST); + myFrame.add(eastPanel, BorderLayout.EAST); - westPanel.add(northOfWest, BorderLayout.NORTH); - westPanel.add(centerOfWest, BorderLayout.CENTER); - westPanel.add(southOfWest, BorderLayout.SOUTH); - centerpanel.setBackground(Color.black); - JPanel eastPanel = new JPanel(); + for (int i = 0; i < 8; i++) { + for (int j = 0; j < 8; j++) { + chessBoardSquares[i][j] = new Square(i, j); + chessBoardSquares[i][j].setVisible(true); + } + } - centerpanel.setLayout(new GridLayout(8, 8)); - myFrame.add(centerpanel, BorderLayout.CENTER); - myFrame.add(westPanel, BorderLayout.WEST); - myFrame.add(eastPanel, BorderLayout.EAST); + for (int i = 0; i < 8; i++) { + for (int j = 0; j < 8; j++) { + if (i % 2 == j % 2) { + chessBoardSquares[i][j].setBackground(new Color(204, 204, 204)); + } + if (i % 2 != j % 2) { + chessBoardSquares[i][j].setBackground(new Color(51, 51, 51)); + } + } + } + for (int i = 0; i < 16; i++) { + outBlackPieces.add(new JButton()); + outWhitePieces.add(new JButton()); + } - for (int i = 0; i < 8; i++) { - for (int j = 0; j < 8; j++) { - chessBoardSquares[i][j] = new Square(i, j); + for (int i = 0; i < 16; i++) { + //outWhitePieces.get(i)=new JButton(); + outWhitePieces.get(i).setBackground(new Color(51, 0, 0)); + // outWhitePieces.get(i).setBorder(emptyBorder); + northOfWest.add(outWhitePieces.get(i)); + // outBlackPieces[i]=new JButton(); + outBlackPieces.get(i).setBackground(new Color(51, 0, 0)); + // outBlackPieces[i].setBorder(emptyBorder); + southOfWest.add(outBlackPieces.get(i)); } - } - for (int i = 0; i < 8; i++) { - for (int j = 0; j < 8; j++) { - if (i % 2 == j % 2) { - chessBoardSquares[i][j].setBackground(new Color(204, 204, 204)); - } - if (i % 2 != j % 2) { - chessBoardSquares[i][j].setBackground(new Color(51, 51, 51)); - } + for (int i = 0; i < 16; i++) { + southOfWest.add(outWhitePieces.get(i)); + northOfWest.add(outBlackPieces.get(i)); } - } - for (int i = 0; i <16 ; i++) { - outBlackPieces.add(new JButton()); - outWhitePieces.add(new JButton()); - } - for(int i=0;i<16;i++){ - //outWhitePieces.get(i)=new JButton(); - outWhitePieces.get(i).setBackground(new Color(51, 0, 0)); - // outWhitePieces.get(i).setBorder(emptyBorder); - northOfWest.add(outWhitePieces.get(i)); - // outBlackPieces[i]=new JButton(); - outBlackPieces.get(i).setBackground(new Color(51, 0, 0)); - // outBlackPieces[i].setBorder(emptyBorder); - southOfWest.add(outBlackPieces.get(i)); - } - for(int i=0;i<16;i++){ - southOfWest.add(outWhitePieces.get(i)); - northOfWest.add(outBlackPieces.get(i)); - } + // Piece piece; + for (int i = 0; i < 8; i++) { + for (int j = 0; j < 8; j++) { + // piece = null; + if (i == 0 && j == 0) { + // piece = br01; + chessBoardSquares[i][j].setPiece(br01); + } else if (i == 0 && j == 7) { + // piece = br02; + chessBoardSquares[i][j].setPiece(br02); + } else if (i == 7 && j == 0) { + //piece = wr01; + // P.setImage("src\\game\\White_Rook.png"); + chessBoardSquares[i][j].setPiece(wr01); + } else if (i == 7 && j == 7) { + //piece = wr02; + chessBoardSquares[i][j].setPiece(wr02); + } else if (i == 0 && j == 1) { + //piece = bk01; + chessBoardSquares[i][j].setPiece(bk01); + } else if (i == 0 && j == 6) { + //piece = bk02; + chessBoardSquares[i][j].setPiece(bk02); + } else if (i == 7 && j == 1) { + //piece = wk01; + chessBoardSquares[i][j].setPiece(wk01); + } else if (i == 7 && j == 6) { + //piece = wk02; + chessBoardSquares[i][j].setPiece(wk02); + + } else if (i == 0 && j == 2) { + //piece = bb01; + chessBoardSquares[i][j].setPiece(bb01); + + } else if (i == 0 && j == 5) { + //piece = bb02; + chessBoardSquares[i][j].setPiece(bb02); + } else if (i == 7 && j == 2) { + //piece = wb01; + chessBoardSquares[i][j].setPiece(wb01); + } else if (i == 7 && j == 5) { + //piece = wb02; + chessBoardSquares[i][j].setPiece(wb02); + } else if (i == 0 && j == 3) { + //piece = bk; + chessBoardSquares[i][j].setPiece(bq); + } else if (i == 0 && j == 4) { + //piece = bq; + + chessBoardSquares[i][j].setPiece(bk); + } else if (i == 7 && j == 3) { + //piece = wk; + chessBoardSquares[i][j].setPiece(wq); + } else if (i == 7 && j == 4) { + //piece = wq; + + chessBoardSquares[i][j].setPiece(wk); + } else if (i == 1) { + // piece = bp[j]; + chessBoardSquares[1][j].setPiece(bp[j]); + } else if (i == 6) { + // piece = wp[j]; + chessBoardSquares[6][j].setPiece(wp[j]); + } + } + } - // Piece piece; - for (int i = 0; i < 8; i++) { - for (int j = 0; j < 8; j++) { - // piece = null; - if (i == 0 && j == 0) { - // piece = br01; - chessBoardSquares[i][j].setPiece(br01); - } - else if (i == 0 && j == 7) { - // piece = br02; - chessBoardSquares[i][j].setPiece(br02); - } - else if (i == 7 && j == 0) { - //piece = wr01; - // P.setImage("src\\game\\White_Rook.png"); - chessBoardSquares[i][j].setPiece(wr01); - } - else if (i == 7 && j == 7) { - //piece = wr02; - chessBoardSquares[i][j].setPiece(wr02); - } - else if (i == 0 && j == 1) { - //piece = bk01; - chessBoardSquares[i][j].setPiece(bk01); - } - else if (i == 0 && j == 6) { - //piece = bk02; - chessBoardSquares[i][j].setPiece(bk02); + for (int i = 0; i < 8; i++) { + for (int j = 0; j < 8; j++) { + centerpanel.add(chessBoardSquares[i][j]); } - else if (i == 7 && j == 1) { - //piece = wk01; - chessBoardSquares[i][j].setPiece(wk01); + } + // MouseListener mouseListener = null; + for (int i = 0; i < 8; i++) { + for (int j = 0; j < 8; j++) { + chessBoardSquares[i][j].addMouseListener(this); } - else if (i == 7 && j == 6) { - //piece = wk02; - chessBoardSquares[i][j].setPiece(wk02); + } - } - else if (i == 0 && j == 2) { - //piece = bb01; - chessBoardSquares[i][j].setPiece(bb01); - } - else if (i == 0 && j == 5) { - //piece = bb02; - chessBoardSquares[i][j].setPiece(bb02); - } - else if (i == 7 && j == 2) { - //piece = wb01; - chessBoardSquares[i][j].setPiece(wb01); - } - else if (i == 7 && j == 5) { - //piece = wb02; - chessBoardSquares[i][j].setPiece(wb02); - } - else if (i == 0 && j == 3) { - //piece = bk; - chessBoardSquares[i][j].setPiece(bq); - } - else if (i == 0 && j == 4) { - //piece = bq; - chessBoardSquares[i][j].setPiece(bk); - } - else if (i == 7 && j == 3) { - //piece = wk; - chessBoardSquares[i][j].setPiece(wq); - } - else if (i == 7 && j == 4) { - //piece = wq; - chessBoardSquares[i][j].setPiece(wk); - } - else if (i == 1) { - // piece = bp[j]; - chessBoardSquares[1][j].setPiece(bp[j]); - } - else if (i == 6) { - // piece = wp[j]; - chessBoardSquares[6][j].setPiece(wp[j]); - } - } + myFrame.setVisible(true); + myFrame.setResizable(true); + myFrame.setExtendedState(myFrame.getExtendedState() | JFrame.MAXIMIZED_BOTH); + // ActionListener } + public static void main(String[] args) { - for (int i = 0; i < 8; i++) { - for (int j = 0; j < 8; j++) { - centerpanel.add(chessBoardSquares[i][j]); - } - } - // MouseListener mouseListener = null; - for(int i=0;i<8;i++){ - for(int j=0;j<8;j++){ - chessBoardSquares[i][j].addMouseListener(this); + // Mainboard.setVisible(true); + wr01 = new Rook("WR01", "src\\game\\White_Rook.png", "w"); + + wr02 = new Rook("WR02", "src\\game\\White_Rook.png", "w"); + br01 = new Rook("BR01", "src\\game\\Black_Rook.png", "b"); + br02 = new Rook("BR02", "src\\game\\Black_Rook.png", "b"); + wk01 = new Knight("WK01", "src\\game\\White_Knight.png", "w"); + wk02 = new Knight("WK02", "src\\game\\White_Knight.png", "w"); + bk01 = new Knight("BK01", "src\\game\\Black_Knight.png", "b"); + bk02 = new Knight("BK02", "src\\game\\Black_Knight.png", "b"); + wb01 = new Bishop("WB01", "src\\game\\White_Bishop.png", "w"); + wb02 = new Bishop("WB02", "src\\game\\White_Bishop.png", "w"); + bb01 = new Bishop("BB01", "src\\game\\Black_Bishop.png", "b"); + bb02 = new Bishop("BB02", "src\\game\\Black_Bishop.png", "b"); + wq = new Queen("WQ", "src\\game\\White_Queen.png", "w"); + bq = new Queen("BQ", "src\\game\\Black_Queen.png", "b"); + wk = new King("WK", "src\\game\\White_King.png", "w", 7, 4); + bk = new King("BK", "src\\game\\Black_King.png", "b", 0, 4); + wp = new Pawn[8]; + bp = new Pawn[8]; + for (int i = 0; i < 8; i++) { + wp[i] = new Pawn("WP0" + (i + 1), "src\\game\\White_Pawn.png", "w"); + bp[i] = new Pawn("BP0" + (i + 1), "src\\game\\Black_Pawn.png", "b"); } + Mainboard = new Main(); } + private void changeTurn() { + if (whosTurn.equals("w")) whosTurn = "b"; + else whosTurn = "w"; + + } - myFrame.setVisible(true); - myFrame.setResizable(true); - myFrame.setExtendedState(myFrame.getExtendedState() | JFrame.MAXIMIZED_BOTH); - } @Override - public void mouseClicked (MouseEvent e) { + public void mouseClicked(MouseEvent e) { + if (!select) { ((Square) (e.getSource())).selectSquare(); @@ -290,7 +277,7 @@ private Main() { select = true; //selecting a square and showing it's possible squares - if (((Square) (e.getSource())).getPiece() != null && ((Square) (e.getSource())).getPiece().getPieceColor().equals(whosTurn) ) { + if (((Square) (e.getSource())).getPiece() != null && ((Square) (e.getSource())).getPiece().getPieceColor().equals(whosTurn)) { lastSquare = ((Square) (e.getSource())); lastPiece = ((Square) (e.getSource())).getPiece(); @@ -313,106 +300,101 @@ private Main() { } //moving a piece to a possible square - else if(((Square) (e.getSource())).getPiece()==null) { - if (((Square) (e.getSource())).isPossibleSquare() && ((Square) (e.getSource())).isSelected()) { - // if (lastSquare != null) - ((Square) (e.getSource())).setPiece(lastPiece); - // if (lastSquare != null) { - lastSquare.removePiece(); - isMoved=true; - // chessBoardSquares[1][j].setPiece(bp[j]); - for(int i=0;i<8;i++){ - for(int j=0;j<8;j++){ - if (chessBoardSquares[i][j]==lastSquare){ - chessBoardSquares[i][j].removePiece(); - } - } - } - + else if (((Square) (e.getSource())).getPiece() == null) { + if (((Square) (e.getSource())).isPossibleSquare() && ((Square) (e.getSource())).isSelected()) { - } + if(lastPiece instanceof King){ + ((King)(lastPiece)).setx(((Square) (e.getSource())).getMyX()); + ((King)(lastPiece)).sety(((Square) (e.getSource())).getMyY()); } - else if(!((Square) (e.getSource())).getPiece().getPieceColor().equals(whosTurn)){ - if(((Square) (e.getSource())).isPossibleSquare() && ((Square) (e.getSource())).isSelected()){ - Piece piece=((Square) (e.getSource())).getPiece(); - JLabel imageIcon = new JLabel(new ImageIcon(piece.getImage())); - if(piece.getPieceColor().equals("w")) { - outWhitePieces.get(outWhitePiecesNum).add(imageIcon); - outWhitePiecesNum++; - } - else{ - outBlackPieces.get(outBlackPiecesNum).add(imageIcon); - outBlackPiecesNum++; - } - - ((Square) (e.getSource())).removePiece(); -// for(int i=0;i<8;i++){ -// for(int j=0;j<8;j++){ - // if (chessBoardSquares[i][j]== (Square) (e.getSource())){ - -// JButton button = new JButton(); -// JLabel imageIcon = new JLabel(new ImageIcon(((Square) (e.getSource())).getPiece().getImage())); -// button.add(imageIcon); -// -// outWhitePieces.add(button); -// } -// chessBoardSquares[i][j].removePiece(); -// -// } -// } -// } - ((Square) (e.getSource())).setPiece(lastPiece); - lastSquare.removePiece(); - isMoved=true; - for(int i=0;i<8;i++){ - for(int j=0;j<8;j++){ - if (chessBoardSquares[i][j]== lastSquare){ - chessBoardSquares[i][j].removePiece(); - } - } - } - } + ((Square) (e.getSource())).setPiece(lastPiece); + + + lastSquare.removePiece(); + isMoved = true; + + chessBoardSquares[lastSquare.getMyX()][lastSquare.getMyY()].removePiece(); - } - if(isMoved) { - changeTurn(); - possibleMoves.clear(); - for (int i = 0; i <8 ; i++) { - for (int j = 0; j <8 ; j++) { - chessBoardSquares[i][j].canclePossibility(); - } - } - isMoved=false; - } - turn.setText("It's your turn! "); - turn.setForeground(Color.GRAY); - if(whosTurn.equals("w"))turn.setBackground(Color.white); - else turn.setBackground(Color.BLACK); } + } + //zadan mohreh ba rng mokhalef + else if (!((Square) (e.getSource())).getPiece().getPieceColor().equals(whosTurn)) { + if (((Square) (e.getSource())).isPossibleSquare() && ((Square) (e.getSource())).isSelected()) { + if (!(((Square) (e.getSource())).getPiece() instanceof King)) { + Piece piece = ((Square) (e.getSource())).getPiece(); + JLabel imageIcon = new JLabel(new ImageIcon(piece.getImage())); + if (piece.getPieceColor().equals("w")) { + outWhitePieces.get(outWhitePiecesNum).add(imageIcon); + outWhitePiecesNum++; + } else { + outBlackPieces.get(outBlackPiecesNum).add(imageIcon); + outBlackPiecesNum++; + } + ((Square) (e.getSource())).removePiece(); + if (lastPiece instanceof King) { + ((King) lastPiece).setx(((Square) (e.getSource())).getMyX()); + ((King) lastPiece).sety(((Square) (e.getSource())).getMyY()); + } + ((Square) (e.getSource())).setPiece(lastPiece); + lastSquare.removePiece(); + isMoved = true; + chessBoardSquares[lastSquare.getMyX()][lastSquare.getMyY()].removePiece(); + } + } + } + if (isMoved) { + changeTurn(); + possibleMoves.clear(); + for (int i = 0; i < 8; i++) { + for (int j = 0; j < 8; j++) { + chessBoardSquares[i][j].canclePossibility(); + } + } + isMoved = false; + } + if (wk.isChecked(chessBoardSquares)) { + turn.setBackground(Color.GREEN); + turn.setFont(new Font("Arial", Font.PLAIN, 30)); + turn.setText("White King is checked!"); + } else if (bk.isChecked(chessBoardSquares)) { + turn.setBackground(Color.RED); + turn.setText("Black King is checked!"); + } else { + turn.setText("It's your turn! "); + turn.setForeground(Color.GRAY); + if (whosTurn.equals("w")) turn.setBackground(Color.white); + else turn.setBackground(Color.BLACK); + } + System.out.println(wk.getx()+","+wk.gety()); + System.out.println(bk.getx()+","+bk.gety()); + } @Override - public void mouseEntered (MouseEvent arg0){ + public void mouseEntered(MouseEvent arg0) { } + @Override - public void mouseExited (MouseEvent arg0){ + public void mouseExited(MouseEvent arg0) { } + @Override - public void mousePressed (MouseEvent arg0){ + public void mousePressed(MouseEvent arg0) { } + @Override - public void mouseReleased (MouseEvent arg0){ + public void mouseReleased(MouseEvent arg0) { } diff --git a/src/game/Square.java b/src/game/Square.java index 1834505..e449ee7 100644 --- a/src/game/Square.java +++ b/src/game/Square.java @@ -10,8 +10,8 @@ import java.awt.*; */ public class Square extends JButton { - int x; - int y; + private int x; + private int y; private Piece piece; private boolean isSelected = false; private boolean hasPiece = false; @@ -30,6 +30,14 @@ public class Square extends JButton { } + public int getMyX() { + return x; + } + + public int getMyY(){ + return y; + } + public JLabel getImage() { return image; } diff --git a/src/pieces/King.java b/src/pieces/King.java index 917f8bc..664a9a5 100644 --- a/src/pieces/King.java +++ b/src/pieces/King.java @@ -35,7 +35,7 @@ public class King extends Piece { public ArrayList<Square> move(Square[][] squares, int x, int y){ //The java.util.ArrayList.clear() method removes all of the elements from this list.The list will be empty after this call returns. ArrayList<Square> possibleSquares=new ArrayList<>(); - possibleSquares.clear(); + int posx[]={x,x,x+1,x+1,x+1,x-1,x-1,x-1}; int posy[]={y-1,y+1,y-1,y,y+1,y-1,y,y+1}; for(int i=0;i<8;i++) -- 2.18.1