Exemple #1
0
        // Operator: StatisticsValue - StatisticsValue
        /// Subtract one value from another, piecewise, and return the result.
        public static PuzzleStatistics Subtract(PuzzleStatistics value1, PuzzleStatistics value2)
        {
            PuzzleStatistics outputValue = new PuzzleStatistics();

            outputValue.CCWRotations    = value1.CCWRotations - value2.CCWRotations;
            outputValue.CWRotations     = value1.CWRotations - value2.CWRotations;
            outputValue.HorizontalFlips = value1.HorizontalFlips - value2.HorizontalFlips;
            outputValue.SecondsTaken    = value1.SecondsTaken - value2.SecondsTaken;
            outputValue.ShapesUsed      = value1.ShapesUsed - value2.ShapesUsed;
            outputValue.VerticalFlips   = value1.VerticalFlips - value2.VerticalFlips;
            outputValue.HintsUsed       = value1.HintsUsed - value2.HintsUsed;

            return(outputValue);
        }
Exemple #2
0
        // Operator: StatisticsValue + StatisticsValue
        /// Add one value to another, piecewise, and return the result.
        public static PuzzleSetStatistics Add(PuzzleSetStatistics value1, PuzzleStatistics value2)
        {
            PuzzleSetStatistics outputValue = new PuzzleSetStatistics();

            outputValue.CCWRotations    = value1.CCWRotations + value2.CCWRotations;
            outputValue.CWRotations     = value1.CWRotations + value2.CWRotations;
            outputValue.HorizontalFlips = value1.HorizontalFlips + value2.HorizontalFlips;
            outputValue.SecondsTaken    = value1.SecondsTaken + value2.SecondsTaken;
            outputValue.ShapesUsed      = value1.ShapesUsed + value2.ShapesUsed;
            outputValue.VerticalFlips   = value1.VerticalFlips + value2.VerticalFlips;
            outputValue.HintsUsed       = value1.HintsUsed + value2.HintsUsed;

            outputValue.PuzzlesSolved = value1.PuzzlesSolved;
            outputValue.PuzzlesSolved++;

            return(outputValue);
        }