private void PEWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (ProjectEulerProgress.GetSolved(problemNumber)) { ShowAnswer(true); } problemTextBox.Text = pe.Question(problemNumber); }
private void arrowRight_Click(object sender, EventArgs e) { problemNumber = problemNumber + 1; if (problemNumber >= ProjectEuler.TotalQuestions) { problemNumber = 1; } problemTextBox.Text = pe.Question(problemNumber); lblQestionNum.Text = problemNumber.ToString(); if (ProjectEulerProgress.GetSolved(problemNumber)) { ShowAnswer(true); } else { ShowAnswer(false); } }
private void answerTextBox_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { string userAnswer = answerTextBox.Text; bool correct = false; if (!ProjectEulerProgress.GetSolved(problemNumber)) { correct = ProjectEuler.CheckAnswer(problemNumber, pe.Answer(problemNumber), userAnswer, Points.CORRECTPOINTS); } //label4.Text = ProjectEulerProgress.SolvedDictionary.Count + ""; //label2.Text = Points.UserPoints.ToString(); if (correct) { ShowAnswer(true); answerTextBox.Text = ""; } e.SuppressKeyPress = true; } }
public static bool CheckAnswer(int problemNumber, string answer, string userAnswer, int points) { using (MD5 md5Hash = MD5.Create()) { string hash = GetMd5Hash(md5Hash, userAnswer); if (hash.CompareTo(answer) == 0) { Points.Add(points); ProjectEulerProgress.Solved(problemNumber, userAnswer); return(true); } else { // to remove ponits // same amount as Add points //this.remove(points); return(false); } } }