--- /dev/null
+/*
+ * Copyright (c) 2018. Developed by Hedgecode.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.hedgecode.chess.hedgefish;
+
+/**
+ *
+ *
+ * @author Dmitry Samoshin aka gotty
+ */
+public final class Types {
+
+ public static final int MAX_MOVES = 256;
+ public static final int MAX_PLY = 128;
+
+ public enum MoveType {
+ NORMAL,
+ PROMOTION,
+ ENPASSANT,
+ CASTLING
+ }
+
+ public enum Color {
+ WHITE,
+ BLACK,
+ COLOR_NB
+ }
+
+ public enum CastlingSide {
+ KING_SIDE,
+ QUEEN_SIDE,
+ CASTLING_SIDE_NB
+ }
+
+ public enum CastlingRight {
+ NO_CASTLING,
+ WHITE_OO,
+ WHITE_OOO,
+ BLACK_OO,
+ BLACK_OOO,
+ ANY_CASTLING,
+ CASTLING_RIGHT_NB
+ }
+
+ public enum Phase {
+ PHASE_ENDGAME,
+ PHASE_MIDGAME,
+ MG,
+ EG,
+ PHASE_NB
+ }
+
+ public enum ScaleFactor {
+ SCALE_FACTOR_DRAW,
+ SCALE_FACTOR_NORMAL,
+ SCALE_FACTOR_MAX,
+ SCALE_FACTOR_NONE
+ }
+
+ public enum Bound {
+ BOUND_NONE,
+ BOUND_UPPER,
+ BOUND_LOWER,
+ BOUND_EXACT
+ }
+
+// enum Value
+
+ public enum PieceType {
+ NO_PIECE_TYPE,
+ PAWN,
+ KNIGHT,
+ BISHOP,
+ ROOK,
+ QUEEN,
+ KING,
+ ALL_PIECES,
+ PIECE_TYPE_NB
+ }
+
+ public enum Piece {
+ NO_PIECE,
+ W_PAWN, W_KNIGHT, W_BISHOP, W_ROOK, W_QUEEN, W_KING,
+ B_PAWN, B_KNIGHT, B_BISHOP, B_ROOK, B_QUEEN, B_KING,
+ PIECE_NB
+ }
+
+// ...
+
+}