Ejemplo n.º 1
0
        /// <summary>
        /// 右側計算式集合作成并返回當前新作成的計算式
        /// </summary>
        /// <param name="maximumLimit">計算結果最大值</param>
        /// <param name="leftFormulaAnswer">左側新作成計算式的結果值</param>
        /// <param name="signFunc">運算符取得用的表達式</param>
        /// <returns>新作成的計算式</returns>
        private Formula MakeRightFormulas(int maximumLimit, int leftFormulaAnswer, Func <SignOfOperation> signFunc)
        {
            IArithmetic strategy = CalculateManager(signFunc());

            // 計算式作成(依據左邊算式的答案推算右邊的算式)
            Formula formula = strategy.CreateFormulaWithAnswer(new ArithmeticParameter()
            {
                MaximumLimit = maximumLimit,
                QuestionType = QuestionType.Default,
                MinimumLimit = 0
            }, leftFormulaAnswer);

            return(formula);
        }