diff --git a/chess/pieces/Bishop.java b/chess/pieces/Bishop.java new file mode 100644 index 0000000..5d0b336 --- /dev/null +++ b/chess/pieces/Bishop.java @@ -0,0 +1,31 @@ +package de.vivi.chess.pieces; + +import de.vivi.chess.board.Board; +import de.vivi.chess.board.Field; + +public class Bishop extends Piece { + public Bishop(Color color, Type type) { + super(color, type); + } + + @Override + public char getSymbol() { + if (getColor() == Color.WHITE) { + if (getType() == Type.BISHOP) { + symbol = '\u265D'; + } + + } else if (getColor() == Color.BLACK) { + if (getType() == Type.BISHOP) { + symbol = '\u2657'; + } + } + return symbol; + } + + @Override + public boolean isValidMove(Board board, Field from, Field to) { + + return false; + } +} diff --git a/chess/pieces/Color.java b/chess/pieces/Color.java new file mode 100644 index 0000000..b3cf8d7 --- /dev/null +++ b/chess/pieces/Color.java @@ -0,0 +1,9 @@ +package de.vivi.chess.pieces; + +/** + * TODO: add colors (white and black) + */ +public enum Color { + WHITE, + BLACK +} diff --git a/chess/pieces/King.java b/chess/pieces/King.java new file mode 100644 index 0000000..52a941a --- /dev/null +++ b/chess/pieces/King.java @@ -0,0 +1,30 @@ +package de.vivi.chess.pieces; + +import de.vivi.chess.board.Board; +import de.vivi.chess.board.Field; + +public class King extends Piece { + public King(Color color, Type type) { + super(color, type); + } + + @Override + public char getSymbol() { + if (getColor() == Color.WHITE) { + if (getType() == Type.KING) { + symbol = '\u265A'; + } + + } else if (getColor() == Color.BLACK) { + if (getType() == Type.KING) { + symbol = '\u2654'; + } + } + return symbol; + } + + @Override + public boolean isValidMove(Board board, Field from, Field to) { + return false; + } +} diff --git a/chess/pieces/Knight.java b/chess/pieces/Knight.java new file mode 100644 index 0000000..929d347 --- /dev/null +++ b/chess/pieces/Knight.java @@ -0,0 +1,31 @@ +package de.vivi.chess.pieces; + +import de.vivi.chess.board.Board; +import de.vivi.chess.board.Field; + +public class Knight extends Piece { + public Knight(Color color, Type type) { + super(color, type); + } + + @Override + public char getSymbol() { + if (getColor() == Color.WHITE) { + if (getType() == Type.KNIGHT) { + symbol = '\u265E'; + } + + } else if (getColor() == Color.BLACK) { + if (getType() == Type.KNIGHT) { + symbol = '\u2658'; + } + } + return symbol; + } + + + @Override + public boolean isValidMove(Board board, Field from, Field to) { + return false; + } +} diff --git a/chess/pieces/Pawn.java b/chess/pieces/Pawn.java new file mode 100644 index 0000000..0243ec1 --- /dev/null +++ b/chess/pieces/Pawn.java @@ -0,0 +1,45 @@ +package de.vivi.chess.pieces; + +import de.vivi.chess.board.Board; +import de.vivi.chess.board.Field; + +public class Pawn extends Piece { + + private boolean isValid = false; + + public Pawn(Color color, Type type) { + super(color, type); + } + + @Override + public char getSymbol() { + if (getColor() == Color.WHITE) { + if (getType() == Type.PAWN) { + symbol = '\u265F'; + } + + } else if (getColor() == Color.BLACK) { + if (getType() == Type.PAWN) { + symbol = '\u2659'; + } + } + return symbol; + } + + @Override + public boolean isValidMove(Board board, Field from, Field to) { + if (board.getPiece(from).getSymbol() == symbol && + board.getPiece(from).getColor() == Color.WHITE) { + if (board.getPiece(to).getSymbol() != symbol && + board.getPiece(to).getColor() != Color.WHITE) { + isValid = true; + + } + } else { + isValid = false; + } + System.out.println(isValid); + + return isValid; + } +}