This commit is contained in:
vimo 2025-02-26 10:10:56 +01:00
parent a097c144ac
commit f428a6d439
5 changed files with 146 additions and 0 deletions

31
chess/pieces/Bishop.java Normal file
View File

@ -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;
}
}

9
chess/pieces/Color.java Normal file
View File

@ -0,0 +1,9 @@
package de.vivi.chess.pieces;
/**
* TODO: add colors (white and black)
*/
public enum Color {
WHITE,
BLACK
}

30
chess/pieces/King.java Normal file
View File

@ -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;
}
}

31
chess/pieces/Knight.java Normal file
View File

@ -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;
}
}

45
chess/pieces/Pawn.java Normal file
View File

@ -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;
}
}