Example #1
0
 private void PEWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
 {
     if (ProjectEulerProgress.GetSolved(problemNumber))
     {
         ShowAnswer(true);
     }
     problemTextBox.Text = pe.Question(problemNumber);
 }
Example #2
0
 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);
     }
 }
Example #3
0
 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;
     }
 }
Example #4
0
 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);
         }
     }
 }