Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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  = "Начать заново";
        }
Beispiel #3
0
        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);
        }