public EndScreenForm(int score, bool objectiveWon, bool timeOver, int wonVerbs, int totalVerbs, int minimumVerbs, TimeSpan timerObjectiveTime, TimeSpan duration, VerbAnswer[] verbAnswers, DateTime date, string listName) { InitializeComponent(); Score = score; Mode = AnswerMode.Timer; ObjectiveWon = objectiveWon; TimeOver = timeOver; WonVerbs = wonVerbs; TotalVerbs = totalVerbs; Duration = duration; MinimumVerbs = minimumVerbs; TimerObjectiveTime = timerObjectiveTime; VerbAnswers = verbAnswers; Date = date; ListName = listName; ObjectiveSpeed = MinimumVerbs / TimerObjectiveTime.TotalMinutes; if (TotalVerbs != 0) { WinPercentage = WonVerbs * 100d / TotalVerbs; } else { WinPercentage = 0; } AverageSpeed = WonVerbs / Duration.TotalMinutes; if (TimeOver) { titleLbl.Text = "Time over!"; statsTitleLbl.Text = "Stats"; statsTitleLbl.Location = new Point(statsTitleLbl.Location.X + 19, statsTitleLbl.Location.Y); } if (ObjectiveWon) { scoreBtn.Text = "Against the Watch:" + Environment.NewLine + "Objective reached!"; scoreBtn.ForeColor = Color.Green; } else { scoreBtn.Text = "Against the Watch:" + Environment.NewLine + "Objective failed."; scoreBtn.ForeColor = Color.Red; } scoreBtn.Image = null; scoreBtn.TextAlign = ContentAlignment.MiddleCenter; winPercentageLbl.Text = "Win Percentage: " + Math.Round(WinPercentage, 1) + "%"; wonOutOfTotalLbl.Text = WonVerbs + " verb" + StringTool.AddSOrNot(WonVerbs) + " won out of " + TotalVerbs + ", objective was " + MinimumVerbs; averageSpeedLbl.Text = "Average Speed: " + Math.Round(AverageSpeed, 2).ToString() + " verbs/minute"; totalTimeLbl.Text = "Speed objective: " + Math.Round(ObjectiveSpeed, 2).ToString() + " verbs/minute"; AddToHistorical(); }
public EndScreenForm(int score, int wonVerbs, int totalVerbs, TimeSpan duration, VerbAnswer[] verbAnswers, DateTime date, string listName) { InitializeComponent(); Mode = AnswerMode.Normal; Score = score; WonVerbs = wonVerbs; TotalVerbs = totalVerbs; Duration = duration; VerbAnswers = verbAnswers; Date = date; ListName = listName; if (TotalVerbs != 0) { WinPercentage = WonVerbs * 100 / TotalVerbs; } else { WinPercentage = 0; } AverageSpeed = WonVerbs / Duration.TotalMinutes; scoreBtn.Text = "Final score: " + score; if (Score >= 20) { scoreBtn.ForeColor = Color.Green; } else if (Score >= 0) { scoreBtn.ForeColor = Color.Orange; } else { scoreBtn.ForeColor = Color.Red; } scoreBtn.Image = Properties.Resources.flame16; winPercentageLbl.Text = "Win Percentage: " + WinPercentage + "%"; wonOutOfTotalLbl.Text = WonVerbs + " verb" + StringTool.AddSOrNot(WonVerbs) + " won out of " + TotalVerbs; averageSpeedLbl.Text = "Average Speed: " + Math.Round(AverageSpeed, 2).ToString() + " verbs/minute"; totalTimeLbl.Text = "Total time: " + Duration.ToString(@"hh\:mm\:ss"); AddToHistorical(); }
private void EventLinker_ScoreUpdate(object sender, EventArgs e) { if (InvokeRequired) // En cas d'appel de cette fonction depuis un autre thread { Invoke(new EventLinker_ScoreUpdateDelegate(this.EventLinker_ScoreUpdate), sender, e); return; } ScoreUpdateEventArgs args = (ScoreUpdateEventArgs)e; // Make 4 spaces at the end of the score label for flame picture if (trainer.Parameters.Mode == AnswerMode.Normal) { if (args.TotalVerbs == 0) { scoreLbl.Text = "Score: 0 "; } else { scoreLbl.Text = "Score: " + trainer.Flames + " "; } if (trainer.Flames >= 20 | args.TotalVerbs == 0) { scoreLbl.ForeColor = Color.Black; } else if (trainer.Flames > 0) { scoreLbl.ForeColor = Color.DarkOrange; } else if (trainer.Flames <= 0) { scoreLbl.ForeColor = Color.Red; } } if (args.LastMistakesNumber == -1) { scoreStateLbl.Text = ""; } else if (args.LastMistakesNumber == 0) { scoreStateLbl.Text = "Well done!"; scoreStateLbl.Font = new Font(new FontFamily("Segoe UI Semibold"), 9.75f); scoreStateLbl.ForeColor = Color.Green; } else { if (args.RemainingChances > -1) { scoreStateLbl.Text = args.LastMistakesNumber + " verb form" + StringTool.AddSOrNot(args.LastMistakesNumber) + " " + StringTool.IsOrAre(args.LastMistakesNumber) + " incorrect. (" + args.RemainingChances + " chance" + StringTool.AddSOrNot(args.RemainingChances) + " left)"; scoreStateLbl.Font = new Font(new FontFamily("Segoe UI Semibold"), 9.75f); scoreStateLbl.ForeColor = Color.Red; } else { scoreStateLbl.Text = args.LastMistakesNumber + " verb form" + StringTool.AddSOrNot(args.LastMistakesNumber) + " " + StringTool.IsOrAre(args.LastMistakesNumber) + " incorrect."; scoreStateLbl.Font = new Font(new FontFamily("Segoe UI Semibold"), 9.75f); scoreStateLbl.ForeColor = Color.Red; } } }