コード例 #1
0
        /// <summary>
        /// 計算式作成
        /// </summary>
        /// <param name="parameter">計算式參數類</param>
        /// <returns>計算式對象</returns>
        /// <exception cref="ArgumentNullException"><paramref name="parameter"/>為NULL的情況</exception>
        public virtual Formula CreateFormula(ArithmeticParameter parameter)
        {
            Guard.ArgumentNotNull(parameter, "parameter");

            Formula = new Formula();

            // 随机下限值
            MinimumLimit = parameter.MinimumLimit;
            // 默認填空項是答案項
            Formula.Gap = GapFilling.Answer;
            if (parameter.QuestionType == QuestionType.GapFilling)
            {
                // 對在等式中的三個數值隨機產生填空項(用於填空題型)
                Formula.Gap = CommonUtil.GetRandomNumber(GapFilling.Left, GapFilling.Answer);
            }

            return(Formula);
        }
コード例 #2
0
        /// <summary>
        /// 由計算結果推算出計算式(使用場景:水果連連看)
        /// </summary>
        /// <param name="parameter">計算式參數類</param>
        /// <param name="answer">計算結果</param>
        /// <returns>計算式對象</returns>
        /// <exception cref="ArgumentNullException"><paramref name="parameter"/>為NULL的情況</exception>
        public virtual Formula CreateFormulaWithAnswer(ArithmeticParameter parameter, int answer)
        {
            Guard.ArgumentNotNull(parameter, "parameter");

            return(CreateFormula(parameter));
        }
コード例 #3
0
        /// <summary>
        /// 構造用於計算接龍題型(即:計算式左邊值等於上一個計算式的結果值)
        /// </summary>
        /// <param name="parameter">計算式參數類</param>
        /// <param name="previousFormula">前次推算的計算式對象</param>
        /// <returns>計算式對象</returns>
        /// <exception cref="ArgumentNullException"><paramref name="parameter"/>為NULL的情況</exception>
        public virtual Formula CreateFormula(ArithmeticParameter parameter, Formula previousFormula)
        {
            Guard.ArgumentNotNull(parameter, "parameter");

            return(CreateFormula(parameter));
        }