public ShowAnswerControl(Question question) { InitializeComponent(); this.question = question; QuestionImage.Source = question.questionImage; QuestionTextBlock.Text = question.question; if (question.question.Length == 0) { QuestionTextBlock.Visibility = System.Windows.Visibility.Collapsed; } else { } if (question.questionImage == null) { QuestionImage.Visibility = System.Windows.Visibility.Collapsed; } else { } setAnswers(question); if (question.timed) { TimerProgressBar.Visibility = Visibility.Hidden; } else { TimerProgressBar.Visibility = Visibility.Collapsed; } if (question.usingCustomPoints) { PointsTextBlock.Text = "+" + question.customPoints; PointsGrid.Visibility = System.Windows.Visibility.Visible; } else { if (Settings.AlwaysShowPoints) { PointsTextBlock.Text = "+" + Settings.RightPoints; PointsGrid.Visibility = System.Windows.Visibility.Visible; } else { } } if (question.usingCustomPenalty) { if (question.customPenalty > 0) { PenaltyTextBlock.Text = "+" + question.customPenalty; } else { PenaltyTextBlock.Text = "" + question.customPenalty; } PenaltyGrid.Visibility = System.Windows.Visibility.Visible; } else { if (Settings.AlwaysShowPenalties) { if (Settings.WrongPoints > 0) { PenaltyTextBlock.Text = "+" + Settings.WrongPoints; } else { PenaltyTextBlock.Text = "" + Settings.WrongPoints; } PenaltyGrid.Visibility = System.Windows.Visibility.Visible; } else { } } if (Settings.ShowAnswers) { AnswerABox.showAnswers(); AnswerBBox.showAnswers(); AnswerXBox.showAnswers(); AnswerYBox.showAnswers(); AnswerLBox.showAnswers(); AnswerRBox.showAnswers(); } else { } int topScore = int.MinValue; for (int index = 0; index < 5; index++) { PlayerControl playerControl = MainWindow.getInstance().GetPlayerControl(index); if (playerControl.inGame) { if (playerControl.getLastAnswerResult() == PlayerControl.AnswerResult.correct) { if (question.usingCustomPoints) { playerControl.addScore(question.customPoints, true); } else { playerControl.addScore(Settings.RightPoints, true); } } else if (playerControl.getLastAnswerResult() == PlayerControl.AnswerResult.wrong) { if (question.usingCustomPenalty) { playerControl.addScore(question.customPenalty, false); } else { if (Settings.WrongDeduct) { playerControl.addScore(Settings.WrongPoints, false); } else { } } } else { } playerControl.revealAnswer(); if (Settings.ShowAnswers) { switch (playerControl.lastAnswer) { case AnswerBox.Answer.None: break; case AnswerBox.Answer.A: AnswerABox.setAnswered(index); break; case AnswerBox.Answer.B: AnswerBBox.setAnswered(index); break; case AnswerBox.Answer.X: AnswerXBox.setAnswered(index); break; case AnswerBox.Answer.Y: AnswerYBox.setAnswered(index); break; case AnswerBox.Answer.L: AnswerLBox.setAnswered(index); break; case AnswerBox.Answer.R: AnswerRBox.setAnswered(index); break; } } else { } if (playerControl.score > topScore) { topScore = playerControl.score; } else { } playerControl.AnimatePointsStoryboard.Begin(); } else { } } for (int index = 0; index < 5; index++) { PlayerControl playerControl = MainWindow.getInstance().GetPlayerControl(index); if (playerControl.score == topScore) { playerControl.showSilverCrown(); } else { playerControl.hideCrown(); } } playersReady = false; App.getInstance().xKeyboard.OnSpacePressed += () => finish(); setScale(MainWindow.getInstance().getXScale(), MainWindow.getInstance().getYScale()); IsComplete = false; }