Ejemplo n.º 1
0
        /// <summary>
        /// 題型構築
        /// </summary>
        /// <param name="p">題型參數</param>
        public override void MarkFormulaList(CurrencyLinkageParameter p)
        {
            // 認識價格對象實例
            CurrencyLinkageFormula CurrencyLinkageFormula = new CurrencyLinkageFormula();

            // 左邊(上面)價格實例
            IList <decimal> leftCurrencys = new List <decimal>();
            // 右邊(下面)價格實例
            IList <int> rightCurrencys = new List <int>();
            // 正確的位置序號
            IList <int> seats = new List <int>();

            // (題型數量最多10個)
            p.NumberOfQuestions = (p.NumberOfQuestions > 10) ? 10 : p.NumberOfQuestions;
            // 按照指定數量作成相應的數學計算式
            for (var seatIndex = 0; seatIndex < p.NumberOfQuestions; seatIndex++)
            {
                int currency = CommonUtil.GetRandomNumber(1, 999);
                // 左邊(上面)價格作成
                leftCurrencys.Add(currency / 100.0m);
                // 右邊(下面)價格作成
                rightCurrencys.Add(currency);
                // 容器座位號
                seats.Add(seatIndex);
            }
            CurrencyLinkageFormula.LeftCurrencys  = leftCurrencys;
            CurrencyLinkageFormula.RightCurrencys = rightCurrencys;
            CurrencyLinkageFormula.Sort           = seats.OrderBy(x => Guid.NewGuid()).ToList();
            CurrencyLinkageFormula.Seats          = GetNewSeats(CurrencyLinkageFormula.Sort);

            p.Currencys = CurrencyLinkageFormula;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 初期化參數
        /// </summary>
        public override void InitParameter()
        {
            // 是否為縱向排列
            QueueType = (JsonExtension.GetPropertyByJson(Reserve, "DivQueueType") == null) ? DivQueueType.Lengthways : (DivQueueType)Convert.ToInt32(JsonExtension.GetPropertyByJson(Reserve, "DivQueueType"));

            // 集合實例化
            Currencys = new CurrencyLinkageFormula();
        }
        /// <summary>
        /// 題型结果显示输出
        /// </summary>
        /// <param name="currencys">價格</param>
        private void ConsoleFormulas(CurrencyLinkageFormula currencys)
        {
            LogUtil.LogDebug(MessageUtil.GetMessage(() => MsgResources.I0004T, "認識價格"));

            int index = 0;

            currencys.LeftCurrencys.ToList().ForEach(d =>
            {
                Console.WriteLine(string.Format("左邊:{0}   容器編號:{1}", d.ToString("0.00"), currencys.Seats[index++]));
            });

            int seat = 0;

            currencys.Sort.ToList().ForEach(d =>
            {
                Console.WriteLine(string.Format("右邊{0}:{1}", seat++, currencys.RightCurrencys[d].IntToCurrency().CurrencyToString()));
            });
        }