From ee2b22a572b614e9a0cca1b490cbbe1ef2f295b3 Mon Sep 17 00:00:00 2001 From: Love Billenius Date: Sun, 4 Dec 2022 18:09:13 +0100 Subject: [PATCH 1/6] Logger working --- src/main/java/com/billenius/schack/Board.java | 16 +++++++-- src/main/java/com/billenius/schack/Pawn.java | 10 +++--- src/main/java/com/billenius/schack/Piece.java | 9 +++-- .../java/com/billenius/schack/Schack.java | 36 ++++++++++++++++--- 4 files changed, 57 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/billenius/schack/Board.java b/src/main/java/com/billenius/schack/Board.java index 701ffbd..259fc77 100644 --- a/src/main/java/com/billenius/schack/Board.java +++ b/src/main/java/com/billenius/schack/Board.java @@ -9,10 +9,15 @@ import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.io.IOException; import java.util.ArrayList; +import java.util.LinkedList; import java.util.List; + +import javax.swing.DefaultListModel; import javax.swing.JOptionPane; import javax.swing.JPanel; +import com.billenius.schack.MoveLogging.Move; + public class Board extends JPanel implements MouseListener { public static final int SIZE_OF_TILE = 100; @@ -22,10 +27,13 @@ public class Board extends JPanel implements MouseListener { private final Color moveableColor = new Color(255, 191, 0); short turnCount = 0; private boolean whitesTurn = true; + private List moveLog = new LinkedList<>(); + private DefaultListModel listModel; - public Board() throws IOException { + public Board(DefaultListModel listModel) throws IOException { this.pieces = getPieces(); setPreferredSize(new Dimension(800, 800)); + this.listModel = listModel; } /** @@ -83,7 +91,7 @@ public class Board extends JPanel implements MouseListener { } // Måla alla pjäser - for (Piece[] pieceArr : pieces) + for (Piece[] pieceArr : pieces) for (Piece piece : pieceArr) { if (piece == null) { continue; @@ -116,6 +124,10 @@ public class Board extends JPanel implements MouseListener { validMovesToDraw.clear(); return; } + + Move m = new Move(selectedPiece, selectedPiece.position, clickedCoordinate); + moveLog.add(m); + listModel.addElement(m); selectedPiece.move(pieces, clickedCoordinate); turnCount++; whitesTurn = !whitesTurn; diff --git a/src/main/java/com/billenius/schack/Pawn.java b/src/main/java/com/billenius/schack/Pawn.java index 75bd5b4..c337c0b 100644 --- a/src/main/java/com/billenius/schack/Pawn.java +++ b/src/main/java/com/billenius/schack/Pawn.java @@ -78,9 +78,9 @@ public class Pawn extends Piece { private List addAttackMovesIfCan(Point pos, Piece[][] pieces) { List movable = new ArrayList<>(); // Se till att vi inte är utanför brädet - if (pos.x >= pieces.length || pos.x < 0 || pos.y >= pieces[0].length || pos.y < 0) { + if (pos.x >= pieces.length || pos.x < 0 || pos.y >= pieces[0].length || pos.y < 0) return movable; - } + final Piece potentialEnemy = pieces[pos.x][pos.y]; // Ifall det är tomt här, gör ingenting if (potentialEnemy != null && potentialEnemy.isWhite() != this.isWhite()) { @@ -93,9 +93,8 @@ public class Pawn extends Piece { @Override protected boolean addMovesIfCan(Point pos, List movable, Piece[][] pieces, boolean allowedToRecurse) { - if (pos.x < 0 || pos.x > 7 || pos.y < 0 || pos.y > 7) { + if (pos.x < 0 || pos.x > 7 || pos.y < 0 || pos.y > 7) return false; - } Piece pieceToCheck = pieces[pos.x][pos.y]; if (pieceToCheck == null) { @@ -114,9 +113,8 @@ public class Pawn extends Piece { // Check if the pawn has moved to the end and should be transformed if (this.position.y == 0 && this.isWhite() - || this.position.y == 7 && !this.isWhite()) { + || this.position.y == 7 && !this.isWhite()) transform(pieces); - } } private void transform(Piece[][] pieces) throws HeadlessException { diff --git a/src/main/java/com/billenius/schack/Piece.java b/src/main/java/com/billenius/schack/Piece.java index a5d2fd7..1cfb974 100644 --- a/src/main/java/com/billenius/schack/Piece.java +++ b/src/main/java/com/billenius/schack/Piece.java @@ -8,6 +8,7 @@ import java.io.InputStream; import java.util.ArrayList; import java.util.List; import javax.imageio.ImageIO; +import javax.swing.ImageIcon; public abstract class Piece { @@ -197,9 +198,9 @@ public abstract class Piece { // Kollar ifall kungen står i schack just nu for (Point enemyAttack : enemyAttacks) { Piece attackedPiece = pieces[enemyAttack.x][enemyAttack.y]; - if (attackedPiece != null && attackedPiece.supremeRuler) + if (attackedPiece != null && attackedPiece.supremeRuler) return true; - + } return false; } @@ -226,4 +227,8 @@ public abstract class Piece { return moved; } + public BufferedImage getIcon() { + return this.icon; + } + } diff --git a/src/main/java/com/billenius/schack/Schack.java b/src/main/java/com/billenius/schack/Schack.java index d7762f3..9505dc3 100644 --- a/src/main/java/com/billenius/schack/Schack.java +++ b/src/main/java/com/billenius/schack/Schack.java @@ -1,20 +1,35 @@ package com.billenius.schack; +import java.awt.Dimension; import java.awt.HeadlessException; import java.awt.event.ActionEvent; import java.io.IOException; import java.net.Inet4Address; import java.net.NetworkInterface; import java.net.UnknownHostException; +import java.util.ArrayList; +import java.util.List; + +import javax.swing.DefaultListModel; import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JList; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; +import javax.swing.JScrollPane; +import javax.swing.JSplitPane; +import javax.swing.ListModel; +import javax.swing.SpinnerDateModel; import javax.swing.UIManager; +import com.billenius.schack.MoveLogging.Move; +import com.billenius.schack.MoveLogging.PieceRenderer; import com.formdev.flatlaf.FlatLightLaf; +import com.billenius.schack.MoveLogging.PieceType; + /** * * @author Love Billenius & Simon Hansson @@ -37,11 +52,25 @@ public class Schack { frame = new JFrame(); frame.setTitle("Schack"); frame.setAlwaysOnTop(false); - frame.setResizable(false); + frame.setResizable(true); + + DefaultListModel listModel = new DefaultListModel<>(); // Might throw an IOException if the icon of the Pieces isn't embedded correctly - final Board board = new Board(); - frame.setContentPane(board); + final Board board = new Board(listModel); + + final JList jlist = new JList<>(listModel); + jlist.setVisible(true); + jlist.setCellRenderer(new PieceRenderer()); + + JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); + splitPane.setDividerLocation(800); + board.setMinimumSize(new Dimension(800, 800)); + jlist.setMinimumSize(new Dimension(200, 800)); + splitPane.setLeftComponent(board); + splitPane.setRightComponent(new JScrollPane(jlist)); + + frame.setContentPane(splitPane); frame.getContentPane().addMouseListener(board); // Create menu @@ -88,7 +117,6 @@ public class Schack { connectToOpponent.addActionListener((ActionEvent ae) -> { String opponentIP = JOptionPane.showInputDialog(null, "What's your opponents IP?"); System.out.println("opponents ip: " + opponentIP); - }); // Add the menu stuff From f52f3e7d0dcec3180d7e6ff155da360aa1bb0ec5 Mon Sep 17 00:00:00 2001 From: Love Billenius Date: Sun, 4 Dec 2022 18:14:08 +0100 Subject: [PATCH 2/6] move logging logic --- .../billenius/schack/MoveLogging/Move.java | 24 ++++++++++++++++++ .../schack/MoveLogging/PieceRenderer.java | 25 +++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 src/main/java/com/billenius/schack/MoveLogging/Move.java create mode 100644 src/main/java/com/billenius/schack/MoveLogging/PieceRenderer.java diff --git a/src/main/java/com/billenius/schack/MoveLogging/Move.java b/src/main/java/com/billenius/schack/MoveLogging/Move.java new file mode 100644 index 0000000..f96dd8d --- /dev/null +++ b/src/main/java/com/billenius/schack/MoveLogging/Move.java @@ -0,0 +1,24 @@ +package com.billenius.schack.MoveLogging; + +import java.awt.Point; + +import com.billenius.schack.Piece; + +public class Move { + public Piece movedPiece; + public Point from; + public Point to; + public String color; + + public Move(Piece movedPiece, Point from, Point to) { + this.from = from; + this.to = to; + this.color = movedPiece.isWhite() ? "White" : "Black"; + this.movedPiece = movedPiece; + } + + public String toString() { + return (from.x + 1) + ":" + (from.y + 1) + + " " + '\u27F6' + " " + (to.x + 1) + ":" + (to.y + 1); + } +} diff --git a/src/main/java/com/billenius/schack/MoveLogging/PieceRenderer.java b/src/main/java/com/billenius/schack/MoveLogging/PieceRenderer.java new file mode 100644 index 0000000..0832888 --- /dev/null +++ b/src/main/java/com/billenius/schack/MoveLogging/PieceRenderer.java @@ -0,0 +1,25 @@ +package com.billenius.schack.MoveLogging; + +import java.awt.Component; +import java.awt.image.BufferedImage; + +import javax.swing.ImageIcon; +import javax.swing.JLabel; +import javax.swing.JList; +import javax.swing.ListCellRenderer; + +public class PieceRenderer extends JLabel implements ListCellRenderer { + + @Override + public Component getListCellRendererComponent(JList list, Move move, int index, + boolean isSelected, + boolean cellHasFocus) { + BufferedImage image = move.movedPiece.getIcon(); + ImageIcon ii = new ImageIcon(image.getScaledInstance(40, 40, java.awt.Image.SCALE_SMOOTH)); + + setIcon(ii); + setText(move.toString()); + + return this; + } +} \ No newline at end of file From be59f829c510f5417c368392a0af9c7c6eb4b82c Mon Sep 17 00:00:00 2001 From: Love Billenius Date: Sun, 4 Dec 2022 18:15:26 +0100 Subject: [PATCH 3/6] flytta ut move logik till metod --- src/main/java/com/billenius/schack/Board.java | 65 ++++++++++--------- src/main/java/com/billenius/schack/Piece.java | 1 - .../java/com/billenius/schack/Schack.java | 8 --- 3 files changed, 33 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/billenius/schack/Board.java b/src/main/java/com/billenius/schack/Board.java index 259fc77..3229d34 100644 --- a/src/main/java/com/billenius/schack/Board.java +++ b/src/main/java/com/billenius/schack/Board.java @@ -9,7 +9,6 @@ import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.io.IOException; import java.util.ArrayList; -import java.util.LinkedList; import java.util.List; import javax.swing.DefaultListModel; @@ -27,13 +26,12 @@ public class Board extends JPanel implements MouseListener { private final Color moveableColor = new Color(255, 191, 0); short turnCount = 0; private boolean whitesTurn = true; - private List moveLog = new LinkedList<>(); - private DefaultListModel listModel; + private DefaultListModel moveList; public Board(DefaultListModel listModel) throws IOException { this.pieces = getPieces(); setPreferredSize(new Dimension(800, 800)); - this.listModel = listModel; + this.moveList = listModel; } /** @@ -111,6 +109,34 @@ public class Board extends JPanel implements MouseListener { } } + private void makeMove(Move move) { + move.movedPiece.move(pieces, move.to); + turnCount++; + whitesTurn = !whitesTurn; + + SchackState state = getSchackState(); + switch (state) { + case SCHACK: + JOptionPane.showMessageDialog(this, "Du står i schack"); + break; + case SCHACKMATT: + case PATT: + String stateStr = state.toString(); + String msg = stateStr.charAt(0) + stateStr.substring(1, stateStr.length()).toLowerCase(); + int choice = JOptionPane.showConfirmDialog(this, msg + "\nVill du starta om?"); + + if (choice == JOptionPane.YES_OPTION) + try { + restartGame(); + } catch (IOException ex) { + } + + break; + default: + } + + } + @Override public void mousePressed(MouseEvent mouseEvent) { final int mouseCoordinateX = (int) (mouseEvent.getX() / SIZE_OF_TILE); @@ -125,34 +151,9 @@ public class Board extends JPanel implements MouseListener { return; } - Move m = new Move(selectedPiece, selectedPiece.position, clickedCoordinate); - moveLog.add(m); - listModel.addElement(m); - selectedPiece.move(pieces, clickedCoordinate); - turnCount++; - whitesTurn = !whitesTurn; - - SchackState state = getSchackState(); - switch (state) { - case SCHACK: - JOptionPane.showMessageDialog(this, "Du står i schack"); - break; - case SCHACKMATT: - case PATT: - String stateStr = state.toString(); - String msg = stateStr.charAt(0) + stateStr.substring(1, stateStr.length()).toLowerCase(); - int choice = JOptionPane.showConfirmDialog(this, msg + "\nVill du starta om?"); - - if (choice == JOptionPane.YES_OPTION) - try { - restartGame(); - } catch (IOException ex) { - } - - break; - default: - } - + Move move = new Move(selectedPiece, selectedPiece.position, clickedCoordinate); + moveList.addElement(move); + makeMove(move); } else { previouslyClickedPoint = new Point(clickedCoordinate); validMovesToDraw = new ArrayList<>(); // Snabbare än .clear diff --git a/src/main/java/com/billenius/schack/Piece.java b/src/main/java/com/billenius/schack/Piece.java index 1cfb974..8ca48d7 100644 --- a/src/main/java/com/billenius/schack/Piece.java +++ b/src/main/java/com/billenius/schack/Piece.java @@ -8,7 +8,6 @@ import java.io.InputStream; import java.util.ArrayList; import java.util.List; import javax.imageio.ImageIO; -import javax.swing.ImageIcon; public abstract class Piece { diff --git a/src/main/java/com/billenius/schack/Schack.java b/src/main/java/com/billenius/schack/Schack.java index 9505dc3..11c45f4 100644 --- a/src/main/java/com/billenius/schack/Schack.java +++ b/src/main/java/com/billenius/schack/Schack.java @@ -5,14 +5,10 @@ import java.awt.HeadlessException; import java.awt.event.ActionEvent; import java.io.IOException; import java.net.Inet4Address; -import java.net.NetworkInterface; import java.net.UnknownHostException; -import java.util.ArrayList; -import java.util.List; import javax.swing.DefaultListModel; import javax.swing.JFrame; -import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JMenu; import javax.swing.JMenuBar; @@ -20,16 +16,12 @@ import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JSplitPane; -import javax.swing.ListModel; -import javax.swing.SpinnerDateModel; import javax.swing.UIManager; import com.billenius.schack.MoveLogging.Move; import com.billenius.schack.MoveLogging.PieceRenderer; import com.formdev.flatlaf.FlatLightLaf; -import com.billenius.schack.MoveLogging.PieceType; - /** * * @author Love Billenius & Simon Hansson From d499280b259f1c18743414c96e1f5ad7d128c50f Mon Sep 17 00:00:00 2001 From: Love Billenius Date: Sun, 4 Dec 2022 18:41:48 +0100 Subject: [PATCH 4/6] =?UTF-8?q?F=C3=B6rb=C3=A4ttring=20av=20logpanel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/billenius/schack/Schack.java | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/billenius/schack/Schack.java b/src/main/java/com/billenius/schack/Schack.java index 11c45f4..b7ed352 100644 --- a/src/main/java/com/billenius/schack/Schack.java +++ b/src/main/java/com/billenius/schack/Schack.java @@ -1,6 +1,7 @@ package com.billenius.schack; import java.awt.Dimension; +import java.awt.Font; import java.awt.HeadlessException; import java.awt.event.ActionEvent; import java.io.IOException; @@ -9,14 +10,17 @@ import java.net.UnknownHostException; import javax.swing.DefaultListModel; import javax.swing.JFrame; +import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; +import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSplitPane; import javax.swing.UIManager; +import java.awt.BorderLayout; import com.billenius.schack.MoveLogging.Move; import com.billenius.schack.MoveLogging.PieceRenderer; @@ -51,16 +55,26 @@ public class Schack { // Might throw an IOException if the icon of the Pieces isn't embedded correctly final Board board = new Board(listModel); + // Logger final JList jlist = new JList<>(listModel); jlist.setVisible(true); jlist.setCellRenderer(new PieceRenderer()); + JScrollPane scrollPane = new JScrollPane(jlist); + // scrollPane.setPreferredSize(new Dimension(120, 700)); + JPanel logPanel = new JPanel(new BorderLayout()); + logPanel.setPreferredSize(new Dimension(120, 800)); + + JLabel infoText = new JLabel("Moves"); + infoText.setFont(new Font("Cantarell", Font.PLAIN, 18)); + + infoText.setHorizontalAlignment(JLabel.CENTER); + logPanel.add(infoText, BorderLayout.NORTH); + logPanel.add(scrollPane, BorderLayout.CENTER); JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); splitPane.setDividerLocation(800); - board.setMinimumSize(new Dimension(800, 800)); - jlist.setMinimumSize(new Dimension(200, 800)); splitPane.setLeftComponent(board); - splitPane.setRightComponent(new JScrollPane(jlist)); + splitPane.setRightComponent(logPanel); frame.setContentPane(splitPane); frame.getContentPane().addMouseListener(board); From 801bcb393d97c603c0bd5dffb114b32e73fe69f8 Mon Sep 17 00:00:00 2001 From: Love Billenius Date: Sun, 4 Dec 2022 18:42:59 +0100 Subject: [PATCH 5/6] Flytta ut till pieces mapp --- src/main/java/com/billenius/schack/{MoveLogging => }/Move.java | 0 .../com/billenius/schack/{MoveLogging => }/PieceRenderer.java | 0 src/main/java/com/billenius/schack/{ => pieces}/Bishop.java | 0 src/main/java/com/billenius/schack/{ => pieces}/Horse.java | 0 src/main/java/com/billenius/schack/{ => pieces}/King.java | 0 src/main/java/com/billenius/schack/{ => pieces}/LongWalkers.java | 0 src/main/java/com/billenius/schack/{ => pieces}/Pawn.java | 0 src/main/java/com/billenius/schack/{ => pieces}/Piece.java | 0 src/main/java/com/billenius/schack/{ => pieces}/Queen.java | 0 src/main/java/com/billenius/schack/{ => pieces}/Rook.java | 0 10 files changed, 0 insertions(+), 0 deletions(-) rename src/main/java/com/billenius/schack/{MoveLogging => }/Move.java (100%) rename src/main/java/com/billenius/schack/{MoveLogging => }/PieceRenderer.java (100%) rename src/main/java/com/billenius/schack/{ => pieces}/Bishop.java (100%) rename src/main/java/com/billenius/schack/{ => pieces}/Horse.java (100%) rename src/main/java/com/billenius/schack/{ => pieces}/King.java (100%) rename src/main/java/com/billenius/schack/{ => pieces}/LongWalkers.java (100%) rename src/main/java/com/billenius/schack/{ => pieces}/Pawn.java (100%) rename src/main/java/com/billenius/schack/{ => pieces}/Piece.java (100%) rename src/main/java/com/billenius/schack/{ => pieces}/Queen.java (100%) rename src/main/java/com/billenius/schack/{ => pieces}/Rook.java (100%) diff --git a/src/main/java/com/billenius/schack/MoveLogging/Move.java b/src/main/java/com/billenius/schack/Move.java similarity index 100% rename from src/main/java/com/billenius/schack/MoveLogging/Move.java rename to src/main/java/com/billenius/schack/Move.java diff --git a/src/main/java/com/billenius/schack/MoveLogging/PieceRenderer.java b/src/main/java/com/billenius/schack/PieceRenderer.java similarity index 100% rename from src/main/java/com/billenius/schack/MoveLogging/PieceRenderer.java rename to src/main/java/com/billenius/schack/PieceRenderer.java diff --git a/src/main/java/com/billenius/schack/Bishop.java b/src/main/java/com/billenius/schack/pieces/Bishop.java similarity index 100% rename from src/main/java/com/billenius/schack/Bishop.java rename to src/main/java/com/billenius/schack/pieces/Bishop.java diff --git a/src/main/java/com/billenius/schack/Horse.java b/src/main/java/com/billenius/schack/pieces/Horse.java similarity index 100% rename from src/main/java/com/billenius/schack/Horse.java rename to src/main/java/com/billenius/schack/pieces/Horse.java diff --git a/src/main/java/com/billenius/schack/King.java b/src/main/java/com/billenius/schack/pieces/King.java similarity index 100% rename from src/main/java/com/billenius/schack/King.java rename to src/main/java/com/billenius/schack/pieces/King.java diff --git a/src/main/java/com/billenius/schack/LongWalkers.java b/src/main/java/com/billenius/schack/pieces/LongWalkers.java similarity index 100% rename from src/main/java/com/billenius/schack/LongWalkers.java rename to src/main/java/com/billenius/schack/pieces/LongWalkers.java diff --git a/src/main/java/com/billenius/schack/Pawn.java b/src/main/java/com/billenius/schack/pieces/Pawn.java similarity index 100% rename from src/main/java/com/billenius/schack/Pawn.java rename to src/main/java/com/billenius/schack/pieces/Pawn.java diff --git a/src/main/java/com/billenius/schack/Piece.java b/src/main/java/com/billenius/schack/pieces/Piece.java similarity index 100% rename from src/main/java/com/billenius/schack/Piece.java rename to src/main/java/com/billenius/schack/pieces/Piece.java diff --git a/src/main/java/com/billenius/schack/Queen.java b/src/main/java/com/billenius/schack/pieces/Queen.java similarity index 100% rename from src/main/java/com/billenius/schack/Queen.java rename to src/main/java/com/billenius/schack/pieces/Queen.java diff --git a/src/main/java/com/billenius/schack/Rook.java b/src/main/java/com/billenius/schack/pieces/Rook.java similarity index 100% rename from src/main/java/com/billenius/schack/Rook.java rename to src/main/java/com/billenius/schack/pieces/Rook.java From 86e11f5c620e003076c87d996c8a592fa33d2925 Mon Sep 17 00:00:00 2001 From: Love Billenius Date: Sun, 4 Dec 2022 18:51:48 +0100 Subject: [PATCH 6/6] paket --- src/main/java/com/billenius/schack/Board.java | 8 +++++++- src/main/java/com/billenius/schack/Move.java | 4 ++-- src/main/java/com/billenius/schack/PieceRenderer.java | 2 +- src/main/java/com/billenius/schack/Schack.java | 4 ++-- src/main/java/com/billenius/schack/pieces/Bishop.java | 2 +- src/main/java/com/billenius/schack/pieces/Horse.java | 2 +- src/main/java/com/billenius/schack/pieces/King.java | 2 +- .../java/com/billenius/schack/pieces/LongWalkers.java | 2 +- src/main/java/com/billenius/schack/pieces/Pawn.java | 2 +- src/main/java/com/billenius/schack/pieces/Piece.java | 4 +++- src/main/java/com/billenius/schack/pieces/Queen.java | 2 +- src/main/java/com/billenius/schack/pieces/Rook.java | 2 +- 12 files changed, 22 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/billenius/schack/Board.java b/src/main/java/com/billenius/schack/Board.java index 3229d34..aedbc48 100644 --- a/src/main/java/com/billenius/schack/Board.java +++ b/src/main/java/com/billenius/schack/Board.java @@ -15,7 +15,13 @@ import javax.swing.DefaultListModel; import javax.swing.JOptionPane; import javax.swing.JPanel; -import com.billenius.schack.MoveLogging.Move; +import com.billenius.schack.pieces.Bishop; +import com.billenius.schack.pieces.Horse; +import com.billenius.schack.pieces.King; +import com.billenius.schack.pieces.Pawn; +import com.billenius.schack.pieces.Piece; +import com.billenius.schack.pieces.Queen; +import com.billenius.schack.pieces.Rook; public class Board extends JPanel implements MouseListener { diff --git a/src/main/java/com/billenius/schack/Move.java b/src/main/java/com/billenius/schack/Move.java index f96dd8d..432a1c6 100644 --- a/src/main/java/com/billenius/schack/Move.java +++ b/src/main/java/com/billenius/schack/Move.java @@ -1,8 +1,8 @@ -package com.billenius.schack.MoveLogging; +package com.billenius.schack; import java.awt.Point; -import com.billenius.schack.Piece; +import com.billenius.schack.pieces.Piece; public class Move { public Piece movedPiece; diff --git a/src/main/java/com/billenius/schack/PieceRenderer.java b/src/main/java/com/billenius/schack/PieceRenderer.java index 0832888..0ff5ed5 100644 --- a/src/main/java/com/billenius/schack/PieceRenderer.java +++ b/src/main/java/com/billenius/schack/PieceRenderer.java @@ -1,4 +1,4 @@ -package com.billenius.schack.MoveLogging; +package com.billenius.schack; import java.awt.Component; import java.awt.image.BufferedImage; diff --git a/src/main/java/com/billenius/schack/Schack.java b/src/main/java/com/billenius/schack/Schack.java index b7ed352..b84ae61 100644 --- a/src/main/java/com/billenius/schack/Schack.java +++ b/src/main/java/com/billenius/schack/Schack.java @@ -22,8 +22,8 @@ import javax.swing.JSplitPane; import javax.swing.UIManager; import java.awt.BorderLayout; -import com.billenius.schack.MoveLogging.Move; -import com.billenius.schack.MoveLogging.PieceRenderer; +import com.billenius.schack.Move; +import com.billenius.schack.PieceRenderer; import com.formdev.flatlaf.FlatLightLaf; /** diff --git a/src/main/java/com/billenius/schack/pieces/Bishop.java b/src/main/java/com/billenius/schack/pieces/Bishop.java index 23cebcb..6df7a21 100644 --- a/src/main/java/com/billenius/schack/pieces/Bishop.java +++ b/src/main/java/com/billenius/schack/pieces/Bishop.java @@ -1,4 +1,4 @@ -package com.billenius.schack; +package com.billenius.schack.pieces; import java.awt.Point; import java.io.IOException; diff --git a/src/main/java/com/billenius/schack/pieces/Horse.java b/src/main/java/com/billenius/schack/pieces/Horse.java index 87660bf..35a8834 100644 --- a/src/main/java/com/billenius/schack/pieces/Horse.java +++ b/src/main/java/com/billenius/schack/pieces/Horse.java @@ -1,4 +1,4 @@ -package com.billenius.schack; +package com.billenius.schack.pieces; import java.awt.Point; import java.io.IOException; diff --git a/src/main/java/com/billenius/schack/pieces/King.java b/src/main/java/com/billenius/schack/pieces/King.java index 599adff..aeea6a9 100644 --- a/src/main/java/com/billenius/schack/pieces/King.java +++ b/src/main/java/com/billenius/schack/pieces/King.java @@ -1,4 +1,4 @@ -package com.billenius.schack; +package com.billenius.schack.pieces; import java.awt.Point; import java.io.IOException; diff --git a/src/main/java/com/billenius/schack/pieces/LongWalkers.java b/src/main/java/com/billenius/schack/pieces/LongWalkers.java index c6cef8b..0717079 100644 --- a/src/main/java/com/billenius/schack/pieces/LongWalkers.java +++ b/src/main/java/com/billenius/schack/pieces/LongWalkers.java @@ -1,4 +1,4 @@ -package com.billenius.schack; +package com.billenius.schack.pieces; import java.awt.Point; import java.io.IOException; diff --git a/src/main/java/com/billenius/schack/pieces/Pawn.java b/src/main/java/com/billenius/schack/pieces/Pawn.java index c337c0b..88b8a64 100644 --- a/src/main/java/com/billenius/schack/pieces/Pawn.java +++ b/src/main/java/com/billenius/schack/pieces/Pawn.java @@ -1,4 +1,4 @@ -package com.billenius.schack; +package com.billenius.schack.pieces; import java.awt.HeadlessException; import java.awt.Point; diff --git a/src/main/java/com/billenius/schack/pieces/Piece.java b/src/main/java/com/billenius/schack/pieces/Piece.java index 8ca48d7..843c7cf 100644 --- a/src/main/java/com/billenius/schack/pieces/Piece.java +++ b/src/main/java/com/billenius/schack/pieces/Piece.java @@ -1,4 +1,4 @@ -package com.billenius.schack; +package com.billenius.schack.pieces; import java.awt.Graphics2D; import java.awt.Point; @@ -9,6 +9,8 @@ import java.util.ArrayList; import java.util.List; import javax.imageio.ImageIO; +import com.billenius.schack.Board; + public abstract class Piece { /** diff --git a/src/main/java/com/billenius/schack/pieces/Queen.java b/src/main/java/com/billenius/schack/pieces/Queen.java index 1260206..4ebbeb8 100644 --- a/src/main/java/com/billenius/schack/pieces/Queen.java +++ b/src/main/java/com/billenius/schack/pieces/Queen.java @@ -1,4 +1,4 @@ -package com.billenius.schack; +package com.billenius.schack.pieces; import java.awt.Point; import java.io.IOException; diff --git a/src/main/java/com/billenius/schack/pieces/Rook.java b/src/main/java/com/billenius/schack/pieces/Rook.java index 26bb479..4147b4f 100644 --- a/src/main/java/com/billenius/schack/pieces/Rook.java +++ b/src/main/java/com/billenius/schack/pieces/Rook.java @@ -1,4 +1,4 @@ -package com.billenius.schack; +package com.billenius.schack.pieces; import java.awt.Point; import java.io.IOException;