Ejemplo n.º 1
0
        //Метод, отвечающий за генерацию нового уровня.
        public override void generateLevel()
        {
            //Получение операнда с помощью статического класса.
            operand = MathInterface.createOperand(rnd.Next(4));
            if (operand == "*")
            {
                //Получение чисел для конкретной операции - умножения.
                first_number = rnd.Next(1, difficulty + 10);
                if (first_number > 10)
                {
                    second_number = rnd.Next(1, first_number / 10 + 1);
                }
                else
                {
                    second_number = rnd.Next(1, difficulty * 10);
                }

                //Получение чисел для операции деления.
            }
            else if (operand == "/")
            {
                first_number  = rnd.Next(1, difficulty * 10);
                answer        = rnd.Next(1, difficulty + 5);
                second_number = answer * first_number;
                if (second_number > first_number)
                {
                    Swap(ref first_number, ref second_number);
                }
            }
            else
            {
                //Получение чисел для сложения и вычитания.
                first_number  = rnd.Next(1, difficulty * 10);
                second_number = rnd.Next(1, difficulty * 10);
            }

            //Высчитывание результата для сложившейся задачи.
            answer = MathInterface.doMath(first_number, second_number, operand);
            //Отображение компонентов на форме.
            displayComponents();
        }