コード例 #1
0
ファイル: TimeCombo.cs プロジェクト: teerachail/MayTuxy
        /// <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;
        }
コード例 #2
0
ファイル: GameCombo.cs プロジェクト: teerachail/MayTuxy
        /// <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;
        }
コード例 #3
0
ファイル: GameRoundThird.cs プロジェクト: teerachail/MayTuxy
        /// <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;
        }
コード例 #4
0
ファイル: GameRoundFirst.cs プロジェクト: teerachail/MayTuxy
        /// <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;
        }
コード例 #5
0
ファイル: GameRoundSecond.cs プロジェクト: teerachail/MayTuxy
        /// <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;
        }
コード例 #6
0
        // นำผลลัพธ์ไปใช้งาน
        private void applyAnswer(AnswerResult ans)
        {
            // คำนวนคะแนนพิเศษจาก TimeCombo และ GameCombo
            ans = _timeCombo.Process(ans);
            ans = _gameCombo.Process(ans);

            // ปรับปรุงข้อมูลคะแนนและเวลาของเกม
            _score += ans.Score;
            _timeLeftSecond += ans.TimeAdvantage;
        }