// ตรวจสอบคำตอบ private void CheckAnswer(object sender, CupAnswerEventArgs objName) { // ตรวจสอบผลลัพธ์ var result = _gameManager.CheckAnswer(objName.ItemName); // หยุดการเล่่นอินเมชันมือทักกี้ tukkyHand.Sb_HandWaitThreeSecond.Stop(); tukkyHand.Sb_HandWaitFiveSecond.Stop(); _doNotingHandTimer.Stop(); const int ResetTimer = 0; _doNotingTime = ResetTimer; if (result != null) { // กำหนดค่าให้กับคะแนนความต่อเนื่องของเวลา _timeCombo = result.TimeCombo; // แสดงผลอนิเมชันตอบของ item _frontRow.PlayAnswerResult(result); if (result.IsCorrect == false) { // จัดการตัวนับการตอบผิด _incorrectCount++; foreach (var cup in _frontRow.Cups) { cup.Sb_Up.Begin(); } // กำหนดการแสดงผลของสามเกลอ และเริ่มเล่นอนิเมชัน tukkyWin.ThreeTopWin.Visibility = System.Windows.Visibility.Visible; tukkyWin.ThreeTopNormal.Visibility = System.Windows.Visibility.Collapsed; tukkyWin.ThreeTopLose.Visibility = System.Windows.Visibility.Collapsed; tukkyWin.ThreeTopWin.StartPlay(); // แสดงอนิเมชันการตอบผิด if (_gameCombo >= MinimumIncorrectCountForDisplayFail) { _trueFalseMark.LostComboTextBlock.Text = _gameCombo.ToString(); _trueFalseMark.Sb_ComboLost.Begin(); } else _trueFalseMark.Sb_Fail.Begin(); // จัดการตัวนับการตอบถูกติดต่อกัน const int ResetGameCombo = 0; _gameCombo = ResetGameCombo; } else if (result.IsCorrect == true) { // จัดการตัวนับการตอบถูกติดต่อกัน _gameCombo++; if (GlobalScore.FirstMaximumCombo < _gameCombo) GlobalScore.FirstMaximumCombo = _gameCombo; // จัดการตัวนับการตอบถูก _correctCount++; result.IsFinish = false; // จัดการการแสดงผลคะแนนและเวลา _timeLeftSecond += result.TimeAdvantage; clock.txt_TimePlus.Text = result.TimeAdvantage.ToString(); // คำนวณการนำคะแนนที่ได้ไปทำการแสดงผล const int Proportion = 5; const string ScoreBoardName = "DokValue"; calculateScoreRunner(ScoreBoardName, Proportion, (int)result.Score); scoreBoard.txt_ScorePlus.Text = ((int)result.Score).ToString(); scoreBoard.Sb_ScorePlus.Begin(); GlobalScore.FirstScore += (int)result.Score; // กำหนดการแสดงผลของสามเกลอ และเริ่มเล่นอนิเมชัน tukkyWin.ThreeTopWin.Visibility = System.Windows.Visibility.Collapsed; tukkyWin.ThreeTopNormal.Visibility = System.Windows.Visibility.Collapsed; tukkyWin.ThreeTopLose.Visibility = System.Windows.Visibility.Visible; tukkyWin.ThreeTopLose.StartPlay(); // แสดงอนิเมชันการตอบถูก const int DisplayCorrectAnswerAndCombo = 0; const int DisplayCorrectAnswerForLowLevel = 3; if (((_gameCombo % DisplayGameCombo == DisplayCorrectAnswerAndCombo ) && (_gameCombo != DisplayCorrectAnswerAndCombo)) || (_gameCombo == DisplayCorrectAnswerForLowLevel)) { _trueFalseMark.Sb_ComboContinuing.Begin(); _trueFalseMark.txt_TrueCombo.Text = _gameCombo.ToString(); } else _trueFalseMark.Sb_Good.Begin(); // เล่นอนิเมชันแสดงคะแนน scoreBoard.Sb_ScorePlus.Stop(); scoreBoard.Sb_ScoreUp.Begin(); scoreBoard.Sb_ScorePlus.Begin(); } // แก้ไขนาฬิกาใน State1 ให้เหลือเพียง 3 ตัว const int First = 1; const int Second = 2; const int Third = 3; if (_timeCombo >= First) clock.PlayClockOne(); if (_timeCombo >= Second) clock.PlayClockTwo(); if (_timeCombo >= Third) { clock.PlayClockThree(); clock.Sb_TimeUp.Begin(); } } }
// เมื่อแก้วถูกคลิก private void OnClickAnswer(object sender, CupAnswerEventArgs objName) { _lastClickedCup = (CupUI)sender; var temp = ClickAnswer; if (temp != null) { temp(sender, objName); } _lastClickedCup.Sb_Correct.Completed -= new EventHandler(Sb_Correct_Completed); _lastClickedCup.Sb_Correct.Completed += new EventHandler(Sb_Correct_Completed); }
// ตรวจสอบคำตอบ private void CheckAnswer(object sender, CupAnswerEventArgs objName) { // ตรวจสอบผลลัพธ์ var result = _gameManager.CheckAnswer(objName.ItemName); // หยุดการเล่่นอินเมชันมือทักกี้ tukkyHand.Sb_HandWaitThreeSecond.Stop(); tukkyHand.Sb_HandWaitFiveSecond.Stop(); _doNotingHandTimer.Stop(); const int ResetTimer = 0; _doNotingTime = ResetTimer; if (result != null) { // กำหนดค่าให้กับคะแนนความต่อเนื่องของเวลา และแสดงผลเวลาเกมที่เหลือ _timeCombo = result.TimeCombo; _timeLeftSecond += result.TimeAdvantage; clock.txt_TimePlus.Text = result.TimeAdvantage.ToString(); // แสดงผลอนิเมชันตอบของ item _frontRow.PlayAnswerResult(result); const int IncorrectAnswer = 0; if ((int)result.Score > IncorrectAnswer) { // แสดงผลคะแนนที่ได้รับ // คำนวณการนำคะแนนที่ได้ไปทำการแสดงผล const int Proportion = 5; const string ScoreBoardName = "DokValue"; calculateScoreRunner(ScoreBoardName, Proportion, (int)result.Score); scoreBoard.txt_ScorePlus.Text = ((int)result.Score).ToString(); // เล่นอนิเมชันแสดงคะแนน //scoreBoard.Sb_ScoreUp.Stop(); scoreBoard.Sb_ScorePlus.Stop(); scoreBoard.Sb_ScoreUp.Begin(); scoreBoard.Sb_ScorePlus.Begin(); GlobalScore.ThirdScore += (int)result.Score; // จัดการตัวนับการตอบถูกติดต่อกัน if (GlobalScore.ThirdMaximumCombo < _gameCombo) GlobalScore.ThirdMaximumCombo = _gameCombo; } if (result.IsCorrect == false) { // จัดการตัวนับการตอบผิด _incorrectCount++; // ตอบผิด ทำการเรียกคำถามใหม่ _isGetNextQuestion = true; // กำหนดการแสดงผลของสามเกลอ และเริ่มเล่นอนิเมชัน tukkyWin.ThreeTopWin.Visibility = System.Windows.Visibility.Visible; tukkyWin.ThreeTopNormal.Visibility = System.Windows.Visibility.Collapsed; tukkyWin.ThreeTopLose.Visibility = System.Windows.Visibility.Collapsed; tukkyWin.ThreeTopWin.StartPlay(); // แสดงอนิเมชันการตอบผิด if (_gameCombo >= MinimumIncorrectCountForDisplayFail) { _trueFalseMark.LostComboTextBlock.Text = _gameCombo.ToString(); _trueFalseMark.Sb_ComboLost.Begin(); } else _trueFalseMark.Sb_Fail.Begin(); // จัดการตัวนับการตอบถูกติดต่อกัน const int ResetGameCombo = 0; _gameCombo = ResetGameCombo; showItemUI.Sb_FadeAway.Begin(); } else if (result.IsCorrect == true) { // จัดการการแสดงผลของตัวแสดงคำถาม showItemUI.PlayAnswerResult(result); // ตรวจสอบการจบระดับความยากนี้ if (result.IsFinish == true) { // จัดการตัวนับการตอบถูกติดต่อกัน _gameCombo++; // ตอบถูก ทำการตรวจสอบการเลื่อนระดับความยาก _isGetNextQuestion = true; _isRoundFinish = true; } } const int First = 1; const int Second = 2; const int Third = 3; const int Fourth = 4; const int Fifth = 5; if (_timeCombo >= First) clock.PlayClockOne(); if (_timeCombo >= Second) clock.PlayClockTwo(); if (_timeCombo >= Third) clock.PlayClockThree(); if (_timeCombo >= Fourth) clock.PlayClockFour(); if (_timeCombo >= Fifth) { clock.PlayClockFive(); clock.Sb_TimeUp.Begin(); } } }