/// <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); }