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