Exemplo n.º 1
0
        /// <summary>
        /// Create new math challenge
        /// </summary>
        /// <returns>Return a new math challenge</returns>
        public MathProblem CreateProblem()
        {
            this.number1        = Randomize.GenerateRandomNumber();
            this.number2        = Randomize.GenerateRandomNumber();
            this.operation      = Randomize.GenerateRandomOperation();
            this.expression     = $"{number1} {GetSymbol(this.operation)} {number2}";
            this.result         = GetResult(this.operation, this.number1, this.number2, true);
            this.possibleResult = GetResult(this.operation, this.number1, this.number2, Randomize.GenerateRandomBoolean());
            this.isAnswered     = false;
            this.playersInMatch = _IScore.GetScore().Select(x => x.playerName).ToList();

            return(this);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Calculate the result of an expression
        /// </summary>
        /// <param name="operation"></param>
        /// <param name="number1"></param>
        /// <param name="number2"></param>
        /// <param name="matchResult">True: Result will be exact, False: Result can be differente of the real result</param>
        /// <returns></returns>
        public float GetResult(OperationsEnum operation, int number1, int number2, bool matchResult)
        {
            switch (operation)
            {
            case OperationsEnum.Addition:
                return(matchResult == true ? number1 + number2 : Randomize.GenerateRandomNumber() + Randomize.GenerateRandomNumber());

            case OperationsEnum.Subtraction:
                return(matchResult == true ? number1 - number2 : Randomize.GenerateRandomNumber() - Randomize.GenerateRandomNumber());

            case OperationsEnum.Multiplication:
                return(matchResult == true ? number1 * number2 : Randomize.GenerateRandomNumber() *Randomize.GenerateRandomNumber());

            case OperationsEnum.Division:
                return(matchResult == true ? number1 / number2 : Randomize.GenerateRandomNumber() / Randomize.GenerateRandomNumber());
            }
            return(0f);
        }