protected override void Initialize()
        {
            double rslt   = 0;
            int    factor = Factor;

            switch (CurrentDifficulty)
            {
            case GameDifficulty.Easy:
                fractions_num   = 2;
                demominator_max = 3;
                factor_max      = 2;
                break;

            default:
            case GameDifficulty.Medium:
                fractions_num   = 4;
                demominator_max = 3;
                factor_max      = 3;
                break;

            case GameDifficulty.Master:
                fractions_num   = 4;
                demominator_max = 5;
                factor_max      = 4;
                break;
            }

            fractions = new FormulaFraction [fractions_num];
            for (int i = 0; i < fractions_num; i++)
            {
                fractions[i] = new FormulaFraction(1 + random.Next(10), (1 + random.Next(demominator_max)) * factor,
                                                   (Operation)random.Next((int)Operation.LastOperation));

                if (i == 0)
                {
                    fractions[0].Operation = Operation.LastOperation;                     // No operation
                }
                switch (fractions[i].Operation)
                {
                case Operation.Addition:
                    rslt += fractions[i].Result;
                    break;

                case Operation.Subtraction:
                    rslt -= fractions[i].Result;
                    break;

                default:
                    rslt = fractions[i].Result;
                    break;
                }
            }

            Answer.Correct     = String.Format(format_string, rslt);
            Answer.CorrectShow = AnswerAsFraction();
        }
Пример #2
0
        protected override void Initialize()
        {
            double rslt = 0;
            int factor = Factor;

            switch (CurrentDifficulty) {
            case GameDifficulty.Easy:
                fractions_num = 2;
                demominator_max = 3;
                factor_max = 2;
                break;
            default:
            case GameDifficulty.Medium:
                fractions_num = 4;
                demominator_max = 3;
                factor_max = 3;
                break;
            case GameDifficulty.Master:
                fractions_num = 4;
                demominator_max = 5;
                factor_max = 4;
                break;
            }

            fractions = new FormulaFraction [fractions_num];
            for (int i = 0; i < fractions_num; i++)
            {
                fractions[i] = new FormulaFraction (1 + random.Next (10), (1 + random.Next (demominator_max)) * factor,
                    (Operation) random.Next ((int) Operation.LastOperation));

                if (i == 0)
                    fractions[0].Operation = Operation.LastOperation; // No operation

                switch (fractions[i].Operation) {
                case Operation.Addition:
                    rslt += fractions[i].Result;
                    break;
                case Operation.Subtraction:
                    rslt -= fractions[i].Result;
                    break;
                default:
                    rslt = fractions[i].Result;
                    break;
                }
            }

            Answer.Correct = String.Format (format_string, rslt);
            Answer.CorrectShow = AnswerAsFraction ();
        }