From 121dad31c6f38d35b5b5264cfd3ec99921d91bb4 Mon Sep 17 00:00:00 2001 From: Josh Reynolds <89405650+Mamoca-R@users.noreply.github.com> Date: Tue, 25 Mar 2025 16:52:36 -0400 Subject: [PATCH] Delete .github/src/Chess2 directory --- .github/src/Chess2/Bishop.java | 27 ----- .github/src/Chess2/Board.java | 54 --------- .github/src/Chess2/Chess.java | 198 --------------------------------- .github/src/Chess2/King.java | 29 ----- .github/src/Chess2/Knight.java | 29 ----- .github/src/Chess2/Pawn.java | 83 -------------- .github/src/Chess2/Piece.java | 83 -------------- .github/src/Chess2/chess.png | Bin 41588 -> 0 bytes 8 files changed, 503 deletions(-) delete mode 100644 .github/src/Chess2/Bishop.java delete mode 100644 .github/src/Chess2/Board.java delete mode 100644 .github/src/Chess2/Chess.java delete mode 100644 .github/src/Chess2/King.java delete mode 100644 .github/src/Chess2/Knight.java delete mode 100644 .github/src/Chess2/Pawn.java delete mode 100644 .github/src/Chess2/Piece.java delete mode 100644 .github/src/Chess2/chess.png diff --git a/.github/src/Chess2/Bishop.java b/.github/src/Chess2/Bishop.java deleted file mode 100644 index f71fd9f..0000000 --- a/.github/src/Chess2/Bishop.java +++ /dev/null @@ -1,27 +0,0 @@ -package Chess2; - -import java.awt.*; -import java.util.List; - -public class Bishop extends Piece { - public Bishop(boolean isWhite, int file, int row, Image img) { - super(isWhite, file, row, img); - } - - @Override - public List getLegalMoves(Piece[][] board) { - return null; - } - - /* - Move function for bishop - */ - public static void move() {} - - /* - Print legal moves for bishop - */ - public static int[][] legalMoves() { - return null; - } -} diff --git a/.github/src/Chess2/Board.java b/.github/src/Chess2/Board.java deleted file mode 100644 index 7a0cf10..0000000 --- a/.github/src/Chess2/Board.java +++ /dev/null @@ -1,54 +0,0 @@ -package Chess2; - -import java.util.Objects; - -public class Board { - private Piece[][] pieces; - private boolean turn; - private Piece selectedPiece; - - /* - Board constructor - */ - public Board(Piece[][] pieces, String turn) { - this.pieces = pieces; - this.turn = Objects.equals(turn, "white"); - } - - /* - Turn getter - */ - public boolean getTurn() { - return this.turn; - } - public Piece[][] getPieces() { - return this.pieces; - } - public Piece getSelectedPiece() { - return this.selectedPiece; - } - - public void setSelectedPiece(Piece piece) { - this.selectedPiece = piece; - } - - public void resetBoard() { - this.pieces = new Piece[8][8]; - } - - public void movePiece(Piece piece, int file, int row) { - if (piece.getLegalMoves(this.pieces).contains(new int[]{file, row})) { - this.pieces[piece.getLogicalRow()][piece.getLogicalFile()] = null; - piece.setRow(row); - piece.setFile(file); - this.pieces[piece.getLogicalRow()][piece.getLogicalFile()] = piece; - } - else { - System.out.println("Invalid move"); - } - } - - public void killPiece(int file, int row) { - this.pieces[row][file] = null; - } -} diff --git a/.github/src/Chess2/Chess.java b/.github/src/Chess2/Chess.java deleted file mode 100644 index f308b49..0000000 --- a/.github/src/Chess2/Chess.java +++ /dev/null @@ -1,198 +0,0 @@ -package Chess2; - -import java.awt.Color; -import java.awt.Graphics; -import java.awt.Image; -import javax.swing.JFrame; -import javax.swing.JPanel; -import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; -import java.awt.event.MouseMotionListener; -import java.io.File; -import java.io.IOException; -import java.awt.image.BufferedImage; -import javax.imageio.ImageIO; -import java.util.LinkedList; - -public class Chess { - public static void main(String[] args) throws IOException { - - Piece[][] pieces = new Piece[8][8]; - Image[] images = extractImages(); - - // Create black pieces - Piece blackRook1 = new Rook(false, 1, 8, images[10]); - Piece blackKnight1 = new Knight(false, 2, 8, images[9]); - Piece blackBishop1 = new Bishop(false, 3, 8, images[8]); - Piece blackQueen = new Rook(false, 4, 8, images[7]); - Piece blackKing = new King(false, 5, 8, images[6]); - Piece blackBishop2 = new Knight(false, 6, 8, images[8]); - Piece blackKnight2 = new Bishop(false, 7, 8, images[9]); - Piece blackRook2 = new Rook(false, 8, 8, images[10]); - Piece blackPawn1 = new Pawn(false, 1, 7, images[11]); - Piece blackPawn2 = new Pawn(false, 2, 7, images[11]); - Piece blackPawn3 = new Pawn(false, 3, 7, images[11]); - Piece blackPawn4 = new Pawn(false, 4, 7, images[11]); - Piece blackPawn5 = new Pawn(false, 5, 7, images[11]); - Piece blackPawn6 = new Pawn(false, 6, 7, images[11]); - Piece blackPawn7 = new Pawn(false, 7, 7, images[11]); - Piece blackPawn8 = new Pawn(false, 8, 7, images[11]); - - // Create white pieces - Piece whiteRook1 = new Rook(true, 1, 1, images[4]); - Piece whiteKnight1 = new Knight(true, 2, 1, images[3]); - Piece whiteBishop1 = new Bishop(true, 3, 1, images[2]); - Piece whiteQueen = new Rook(true, 4, 1, images[1]); - Piece whiteKing = new King(true, 5, 1, images[0]); - Piece whiteBishop2 = new Knight(true, 6, 1, images[2]); - Piece whiteKnight2 = new Bishop(true, 7, 1, images[3]); - Piece whiteRook2 = new Rook(true, 8, 1, images[4]); - Piece whitePawn1 = new Pawn(true, 1, 2, images[5]); - Piece whitePawn2 = new Pawn(true, 2, 2, images[5]); - Piece whitePawn3 = new Pawn(true, 3, 2, images[5]); - Piece whitePawn4 = new Pawn(true, 4, 2, images[5]); - Piece whitePawn5 = new Pawn(true, 5, 2, images[5]); - Piece whitePawn6 = new Pawn(true, 6, 2, images[5]); - Piece whitePawn7 = new Pawn(true, 7, 2, images[5]); - Piece whitePawn8 = new Pawn(true, 8, 2, images[5]); - - pieces[0][0] = blackRook1; - pieces[0][1] = blackKnight1; - pieces[0][2] = blackBishop1; - pieces[0][3] = blackQueen; - pieces[0][4] = blackKing; - pieces[0][5] = blackBishop2; - pieces[0][6] = blackKnight2; - pieces[0][7] = blackRook2; - pieces[1][0] = blackPawn1; - pieces[1][1] = blackPawn2; - pieces[1][2] = blackPawn3; - pieces[1][3] = blackPawn4; - pieces[1][4] = blackPawn5; - pieces[1][5] = blackPawn6; - pieces[1][6] = blackPawn7; - pieces[1][7] = blackPawn8; - - pieces[7][0] = whiteRook1; - pieces[7][1] = whiteKnight1; - pieces[7][2] = whiteBishop1; - pieces[7][3] = whiteQueen; - pieces[7][4] = whiteKing; - pieces[7][5] = whiteBishop2; - pieces[7][6] = whiteKnight2; - pieces[7][7] = whiteRook2; - pieces[6][0] = whitePawn1; - pieces[6][1] = whitePawn2; - pieces[6][2] = whitePawn3; - pieces[6][3] = whitePawn4; - pieces[6][4] = whitePawn5; - pieces[6][5] = whitePawn6; - pieces[6][6] = whitePawn7; - pieces[6][7] = whitePawn8; - - Board board = new Board(pieces, "white"); - - // Start drawing board - JFrame frame = new JFrame(); - frame.setBounds(10, 10, 512, 512); - frame.setUndecorated(true); - JPanel pn = new JPanel() { - @Override - public void paint(Graphics g) { - boolean white = true; - for (int i = 0; i < 8; i++) { - for (int j = 0; j < 8; j++) { - if (white) g.setColor(Color.white); - else g.setColor(Color.gray); - g.fillRect(i * 64, j * 64, 64, 64); - white = !white; - } - white = !white; - } - for (Piece[] row : board.getPieces()) { - for (Piece p : row) { - if (p != null) { - g.drawImage(p.getImage(), p.getX(), p.getY(), this); - } - } - } - if (board.getSelectedPiece() != null) { - for (int[] legalMove : board.getSelectedPiece().getLegalMoves(board.getPieces())) { - g.setColor(Color.GREEN); - g.fillOval((legalMove[0]-1) * 64 + 24, (8-legalMove[1]) * 64 + 24, 16, 16); - } - } - } - }; - frame.add(pn); - frame.addMouseListener(new MouseListener() { - - @Override - public void mouseClicked(MouseEvent e) { - - } - - @Override - public void mousePressed(MouseEvent e) { - int file = e.getX() / 64; - int row = e.getY() / 64; - board.setSelectedPiece(board.getPieces()[row][file]); - } - - @Override - public void mouseReleased(MouseEvent e) { - int file = (e.getX() / 64) + 1; - int row = 8 - (e.getY() / 64); - if (board.getSelectedPiece() != null) { - board.movePiece(board.getSelectedPiece(), file, row); - board.setSelectedPiece(null); - } - frame.repaint(); - } - - @Override - public void mouseEntered(MouseEvent e) { - - } - - @Override - public void mouseExited(MouseEvent e) { - - } - }); - frame.addMouseMotionListener(new MouseMotionListener() { - - @Override - public void mouseDragged(MouseEvent e) { - if (board.getSelectedPiece() != null) { - board.getSelectedPiece().setX(e.getX() - 32); - board.getSelectedPiece().setY(e.getY() - 32); - frame.repaint(); - } - } - - @Override - public void mouseMoved(MouseEvent e) { - - } - }); - frame.setDefaultCloseOperation(3); // Windows close button closes game - frame.setVisible(true); - } - - /* - Extract images from chess.png - */ - public static Image[] extractImages() throws IOException { - BufferedImage all = ImageIO.read(new File("C:\\Users\\joshu\\IdeaProjects\\Chess\\.github\\src\\Chess2\\chess.png")); - Image[] images = new Image[12]; - int index = 0; - for (int y = 0; y < 400; y += 200) { - for (int x = 0; x < 1200; x += 200) { - images[index] = all.getSubimage(x, y, 200, 200).getScaledInstance(64, 64, BufferedImage.SCALE_SMOOTH); - index++; - } - } - return images; - } -} diff --git a/.github/src/Chess2/King.java b/.github/src/Chess2/King.java deleted file mode 100644 index e6734d9..0000000 --- a/.github/src/Chess2/King.java +++ /dev/null @@ -1,29 +0,0 @@ -package Chess2; - -import java.awt.*; -import java.util.List; - -public class King extends Piece { - - - public King(boolean isWhite, int file, int row, Image img) { - super(isWhite, file, row, img); - } - - @Override - public List getLegalMoves(Piece[][] board) { - return null; - } - - /* - Move function for king - */ - public static void move() {} - - /* - Print legal moves for king - */ - public static int[][] legalMoves() { - return null; - } -} diff --git a/.github/src/Chess2/Knight.java b/.github/src/Chess2/Knight.java deleted file mode 100644 index a4b2189..0000000 --- a/.github/src/Chess2/Knight.java +++ /dev/null @@ -1,29 +0,0 @@ -package Chess2; - -import java.awt.*; -import java.util.List; - -public class Knight extends Piece { - - - public Knight(boolean isWhite, int file, int row, Image img) { - super(isWhite, file, row, img); - } - - @Override - public List getLegalMoves(Piece[][] board) { - return null; - } - - /* - Move function for knight - */ - public static void move() {} - - /* - Print legal moves for knight - */ - public static int[][] legalMoves() { - return null; - } -} diff --git a/.github/src/Chess2/Pawn.java b/.github/src/Chess2/Pawn.java deleted file mode 100644 index 5e53c51..0000000 --- a/.github/src/Chess2/Pawn.java +++ /dev/null @@ -1,83 +0,0 @@ -package Chess2; - -import java.awt.*; -import java.util.ArrayList; -import java.util.List; - -public class Pawn extends Piece { - - - public Pawn(boolean isWhite, int file, int row, Image img) { - super(isWhite, file, row, img); - } - - /* - Move function for pawn - */ - - /* - Print legal moves for pawn - */ - @Override - public List getLegalMoves(Piece[][] board) { - List moves = new ArrayList<>(); - - //region White Pawn moves - if (this.isWhite) { - // Forward move by 1 - if (isWithinBounds(file, row + 1) && board[file][row + 1] == null) { - moves.add(new int[]{file, row + 1}); - - // Forward move by 2 from starting row - if (row == 2 && board[file][row + 2] == null) { - moves.add(new int[]{file, row + 2}); - } - } - - // Capture moves - if (isWithinBounds(file - 1, row + 1) && board[file - 1][row + 1] != null && - !board[file - 1][row + 1].isWhite) { - moves.add(new int[]{file - 1, row + 1}); - } - if (isWithinBounds(file + 1, row + 1) && board[file + 1][row + 1] != null && - !board[file + 1][row + 1].isWhite) { - moves.add(new int[]{file + 1, row + 1}); - } - } - //endregion - //region Black Pawn moves - if (!this.isWhite) { - // Forward move by 1 - if (isWithinBounds(file, row - 1) && board[file][row - 1] == null) { - moves.add(new int[]{file, row - 1}); - - // Forward move by 2 from starting row - if (row == 7 && board[file][row - 2] == null) { - moves.add(new int[]{file, row - 2}); - } - } - - // Capture moves - if (isWithinBounds(file - 1, row - 1) && board[file - 1][row - 1] != null && - board[file - 1][row - 1].isWhite) { - moves.add(new int[]{file - 1, row - 1}); - } - if (isWithinBounds(file + 1, row - 1) && board[file + 1][row - 1] != null && - board[file + 1][row - 1].isWhite) { - moves.add(new int[]{file + 1, row - 1}); - } - } - //endregion - - for (int[] move : moves) { - System.out.println(move[0] + " " + move[1]); - } - - return moves; - } - - // Helper function to ensure moves stay within board limits - private boolean isWithinBounds(int file, int row) { - return file >= 1 && file <= 8 && row >= 1 && row <= 8; - } -} diff --git a/.github/src/Chess2/Piece.java b/.github/src/Chess2/Piece.java deleted file mode 100644 index f1389a2..0000000 --- a/.github/src/Chess2/Piece.java +++ /dev/null @@ -1,83 +0,0 @@ -package Chess2; - -import java.awt.Image; -import java.util.List; - -public abstract class Piece { - protected boolean isWhite; - protected int row; - protected int file; - protected int x; - protected int y; - protected Image img; - - /* - Piece constructor - */ - public Piece(boolean isWhite, int file, int row, Image img) { - this.isWhite = isWhite; - this.row = row; - this.file = file; - this.x = (file-1)*64; - this.y = (8-row)*64; - this.img = img; - } - - public boolean getIsWhite() { - return isWhite; - } - public int getRow() { - return row; - } - public int getFile() { - return file; - } - public Image getImage() { - return img; - } - public int getLogicalRow() { - return 8 - row; - } - public int getLogicalFile() { - return file - 1; - } - - public int getX() { - return this.x; - } - - public int getY() { - return this.y; - } - - public void setRow(int row) { - this.row = row; - this.y = (8-row)*64; - } - public void setFile(int file) { - this.file = file; - this.x = (file-1)*64; - } - - public void setX(int x) { - this.x = x; - } - - public void setY(int y) { - this.y = y; - } - - - - - /* - Move function - */ - - - - /* - Print legal moves for pawn - */ - public abstract List getLegalMoves(Piece[][] board); -} diff --git a/.github/src/Chess2/chess.png b/.github/src/Chess2/chess.png deleted file mode 100644 index c4e058317a6d389c319dc3147cda5cec1917f7f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41588 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