private void checkAnagram() { string rightAnswer = anagramsList[anagramIteration].rightWord; if (anagramTextBox.Text != "" && anagramTextBox.Text.ToUpper() == rightAnswer.Substring(0, rightAnswer.Length - 1)) { anagramRight++; label22.Visible = true; label22.Text = "ВЕРНО"; label22.ForeColor = System.Drawing.Color.ForestGreen; anagramIteration++; anagramTextBox.Clear(); currentArithmeticResult = generateArithmetics(); while (currentArithmeticResult.Result < 0) { currentArithmeticResult = generateArithmetics(); } arithText.Text = currentArithmeticResult.Equation; anagramTextBox.Enabled = false; anagramText.Enabled = false; arithText.Enabled = true; arithTextBox.Enabled = true; arithTextBox.Focus(); } else { anagramTextBox.Clear(); anagramWrong++; label22.Visible = true; label22.Text = "НЕВЕРНО"; label22.ForeColor = System.Drawing.Color.Red; } }
private void button3_Click(object sender, EventArgs e) { arithmeticRight = 0; arithmeticWrong = 0; anagramRight = 0; anagramWrong = 0; basketRight = 0; basketWrong = 0; loadAnagrams(); arithTextBox.Enabled = true; anagramTextBox.Enabled = false; if ((currentArithmeticResult = generateArithmetics()).Result < 0) { while (currentArithmeticResult.Result < 0) { currentArithmeticResult = generateArithmetics(); } } arithText.Text = currentArithmeticResult.Equation; arithTextBox.Focus(); //anagramText.Text = anagramsList[anagramIteration].cipherdWord; circleLocation(); timer2.Enabled = true; timer3.Enabled = true; startBtn.Text = "Начать заново"; }
private ArithmeticResult generateArithmetics() { Random rnd = new Random(); List <int> numbers = new List <int>(); for (var i = 1; i <= 3; i++) { numbers.Add(rnd.Next(1, 10)); } List <int> operators = new List <int>(); while (operators.Count != 2) { if (!operators.Contains(2)) { operators.Add(rnd.Next(0, 3) % 3); } else { operators.Add(rnd.Next(0, 2) % 2); } } Dictionary <int, string> operatorStrings = new Dictionary <int, string> { { 0, "+" }, { 1, "-" }, { 2, "*" } }; string resultString = numbers[0].ToString() + " " + operatorStrings[operators[0]] + " " + numbers[1].ToString() + " " + operatorStrings[operators[1]] + " " + numbers[2].ToString(); if (operators.Contains(2)) { int mulIndex = operators.IndexOf(2); int newnumber = numbers[mulIndex] * numbers[mulIndex + 1]; operators.RemoveAt(mulIndex); int oldnumber; switch (mulIndex) { case 0: oldnumber = numbers[2]; numbers.Clear(); numbers.Add(newnumber); numbers.Add(oldnumber); break; case 1: oldnumber = numbers[0]; numbers.Clear(); numbers.Add(oldnumber); numbers.Add(newnumber); break; } } int currentResult = numbers[0]; for (int i = 0; i < operators.Count(); i++) { switch (operators[i]) { case 0: currentResult += numbers[i + 1]; break; case 1: currentResult -= numbers[i + 1]; break; } } ArithmeticResult result = new ArithmeticResult() { Result = currentResult, Equation = resultString }; return(result); }