chessai
college code for ai playing chess in java
git clone https://9o.is/git/chessai.git
ChessPiece.java
(1795B)
1 package chess;
2
3 import chess.utils.ChessColor;
4 import chess.utils.ChessType;
5
6 import java.util.Arrays;
7 import java.util.Collections;
8 import java.util.List;
9
10 /**
11 * Check
12 */
13 public enum ChessPiece {
14 BLACK_KING (12, ChessColor.BLACK, ChessType.KING),
15 BLACK_QUEEN (11, ChessColor.BLACK, ChessType.QUEEN),
16 BLACK_BISHOP (10, ChessColor.BLACK, ChessType.BISHOP),
17 BLACK_KNIGHT (9, ChessColor.BLACK, ChessType.KNIGHT),
18 BLACK_ROOK (8, ChessColor.BLACK, ChessType.ROOK),
19 BLACK_PAWN (7, ChessColor.BLACK, ChessType.PAWN),
20 WHITE_KING (6, ChessColor.WHITE, ChessType.KING),
21 WHITE_QUEEN (5, ChessColor.WHITE, ChessType.QUEEN),
22 WHITE_BISHOP (4, ChessColor.WHITE, ChessType.BISHOP),
23 WHITE_KNIGHT (3, ChessColor.WHITE, ChessType.KNIGHT),
24 WHITE_ROOK (2, ChessColor.WHITE, ChessType.ROOK),
25 WHITE_PAWN (1, ChessColor.WHITE, ChessType.PAWN),
26 NA (-1, ChessColor.NA, ChessType.NA);
27
28 private int num;
29 private ChessColor color;
30 private ChessType type;
31
32 ChessPiece(int num, ChessColor color, ChessType type) {
33 this.num = num;
34 this.color = color;
35 this.type = type;
36 }
37
38 public ChessType getType() {
39 return type;
40 }
41
42 public ChessColor getColor() {
43 return color;
44 }
45
46 public int getNum() {
47 return num;
48 }
49
50 public String toString() {
51 return color.toString() + type.toString();
52 }
53
54 public static ChessPiece find(int num) {
55 for (ChessPiece piece : VALUES)
56 if(piece.getNum() == num) return piece;
57
58 return ChessPiece.NA;
59 }
60
61 /* Cached list of all possible values. */
62 private static final List<ChessPiece> VALUES =
63 Collections.unmodifiableList(Arrays.asList(values()));
64 }