public Cell DoMove(BoardCell boardCell, int depth, int treeMaxWidth) { var move = DoMoveInternal(boardCell, depth, treeMaxWidth); board[move.X, move.Y] = boardCell; currentState = GameStates.FirstOrDefault(gs => gs.Cell == move); return(move); }