/// <summary> /// นำผลลัพธ์ไปคำนวณการให้เวลาเพิ่ม /// </summary> /// <param name="ans">ผลลัพธ์</param> /// <returns>ผลลัพธ์ที่ถูกคำนวณเวลาพิเศษแล้ว</returns> public AnswerResult Process(AnswerResult ans) { if (ans.IsCorrect != null) { if (ans.IsCorrect.Equals(true)) _pluse++; ans.TimeCombo = _pluse; const int ResetPluse = 0; if (_pluse >= MaximumPluse) { _pluse = ResetPluse; ans.TimeAdvantage = AddTime; } } return ans; }
/// <summary> /// นำผลลัพธ์ไปคำนวณการให้คะแนนเพิ่ม /// </summary> /// <param name="ans">ผลลัพธ์</param> /// <returns>ผลลัพธ์ที่ถูกคำนวณเวลาพิเศษแล้ว</returns> public AnswerResult Process(AnswerResult ans) { if (ans.IsCorrect != null) { const int ResetPluse = 0; if (ans.IsCorrect.Equals(true)) { // ตอบถูก if (ans.IsFinish) _comboCount++; ans.Score = ans.Score * (Pluse + (_comboCount * AddPluse)); } else { // ตอบผิด _comboCount = ResetPluse; } } return ans; }
/// <summary> /// ตรวจคำตอบ /// </summary> /// <param name="objName">ชื่อของคำตอบที่ต้องการตรวจ</param> /// <returns>ผลลัพธ์ของการตรวจ</returns> public override AnswerResult CheckAnswer(string objName) { AnswerResult answer = new AnswerResult(); if (!_isIncorrect) { if (objName.Equals(Question.BackRow.BeforeCup[_questionIndex])) { // ตอบถูก _questionIndex++; _correctCount++; answer.IsCorrect = true; answer.Score = _cupPoint; if (_isHasFinished && (!_isIncorrect)) { answer.Score = _roundPoint + _cupPoint; _isIncorrect = true; } // ตรวจสอบการจบรอบเกมนี้ if ((_correctCount >= _maximumCorrect) && (!_isHasFinished)) { answer.IsFinish = true; _isHasFinished = true; } } else { // ตอบผิด answer.IsCorrect = false; _isIncorrect = true; } } return answer; }
/// <summary> /// ตรวจคำตอบ /// </summary> /// <param name="objName">ชื่อของคำตอบที่ต้องการตรวจ</param> /// <returns>ผลลัพธ์ของการตรวจ</returns> public override AnswerResult CheckAnswer(string objName) { AnswerResult answer = new AnswerResult(); if (_isHasFinished == false) { _isHasFinished = true; if (objName.Equals(IncorrectAnswerItem)) { // ตอบผิด answer.IsCorrect = false; } else { // ตอบถูก answer.IsCorrect = true; answer.Score = _roundPoint; answer.IsFinish = true; } } return answer; }
/// <summary> /// ตรวจคำตอบ /// </summary> /// <param name="objName">ชื่อของคำตอบที่ต้องการตรวจ</param> /// <returns>ผลลัพธ์ของการตรวจ</returns> public override AnswerResult CheckAnswer(string objName) { var answer = new AnswerResult(); if ((!_isIncorrect)) { if (string.IsNullOrEmpty(_answer)) _answer = objName; else { if (_answer.Equals(objName)) { // ตอบถูก answer.IsCorrect = true; answer.Score = _cupPoint; _correctCount++; _answer = string.Empty; if (_isHasFinished && (!_isIncorrect)) { answer.Score = _roundPoint + _cupPoint; _isIncorrect = true; } // ตรวจสอบการจบรอบเกมนี้ if ((_correctCount >= _maximumCorrect) && (!_isHasFinished)) { answer.IsFinish = true; _isHasFinished = true; } } else { // ตอบผิด answer.IsCorrect = false; _isIncorrect = true; } } } return answer; }
// นำผลลัพธ์ไปใช้งาน private void applyAnswer(AnswerResult ans) { // คำนวนคะแนนพิเศษจาก TimeCombo และ GameCombo ans = _timeCombo.Process(ans); ans = _gameCombo.Process(ans); // ปรับปรุงข้อมูลคะแนนและเวลาของเกม _score += ans.Score; _timeLeftSecond += ans.TimeAdvantage; }