Example #1
0
        public GameState(Piece[] board, Piece active, Castling castling, Cell enpassant, int draw, int move)
        {
            if (board.Length != 64)
            {
                throw new ArgumentException("Board must be 64 squares", nameof(board));
            }

            if (active != Piece.White && active != Piece.Black)
            {
                throw new ArgumentException("Must be White or Black", nameof(active));
            }

            Board = new Board((Piece[])board.Clone());
            Active = active;
            Castling = castling;
            Enpassant = enpassant;
            DrawClock = draw;
            Move = move;
        }