//=> squares.Flatten().Max(s => 1 << s); public static float Reward(this byte[,] squares) { return(squares.Score() + squares.CountEmptySquares() * EMPTY_SQUARE_REWARD); }