// UI update
        public override void Update()
        {
            ConsoleWriter.PrintNewLine();
            ConsoleWriter.PrintNewLine();

            ConsoleUtils.DoAction("Choose mode", "", "1", true,

                                  new ConsoleUtils.ActionParams("1", "1. Practice mode ", delegate(ConsoleUtils.ActionParamsContext context)
            {
                _sm.PushInNextFrame(new ChooseDifficultyLevelState().Initialize(_sm));
            }),
                                  new ConsoleUtils.ActionParams("2", "2. Cumulative operations ", delegate(ConsoleUtils.ActionParamsContext context) {
                int maxAdditionNumber       = ConsoleReader.GetUserInputInt("Max Addition digit. (Leave it as 0 to ignore this operation)", 0);
                int maxSubstractionNumber   = ConsoleReader.GetUserInputInt("Max Substraction digit. (Leave it as 0 to ignore this operation)", 0);
                int maxMultiplicationNumber = ConsoleReader.GetUserInputInt("Max Multiplication digit. (Leave it as 0 to ignore this operation)", 0);

                int startingNumber = ConsoleReader.GetUserInputInt("Starting Number", 0);
                int questions      = ConsoleReader.GetUserInputInt("Question count", 25);

                QLib.FSM.iContext cummulativeContext = CumulativeOperationState.GetContext(maxAdditionNumber, maxSubstractionNumber, maxMultiplicationNumber, startingNumber, questions);
                _sm.PushInNextFrame(new CumulativeOperationState().Initialize(_sm), cummulativeContext);
            }),

                                  //new ConsoleUtils.ActionParams("2", "2. Learning mode", delegate (ConsoleUtils.aActionParamsContext context)
                                  //{
                                  //    ConsoleWriter.PrintInRed("Not yet implemented");
                                  //}),
                                  new ConsoleUtils.ActionParams("b", "b. back", delegate(ConsoleUtils.ActionParamsContext context)
            {
                Exit();
            })
                                  );
        }
Esempio n. 2
0
        public override void OnContext(QLib.FSM.iContext context)
        {
            if (context == null || !(context is Context))
            {
                throw new Exception("Invalid context");
            }
            this.context = context as Context;

            Console.Clear();
            ConsoleWriter.PrintInColor($"Lets Begin the challenge!", ConsoleColor.DarkGreen);
        }
        public override void OnContext(QLib.FSM.iContext context)
        {
            if (context == null || !(context is Context))
            {
                throw new Exception("Invalid context");
            }
            level           = ((Context)context).levelNumber;
            challengeInputs = ((Context)context).challengeInputs;
            controller      = new PracticeSessionController(challengeInputs);

            Console.Clear();
            ConsoleWriter.PrintInColor($"Lets Begin the challenge for Level {level}", ConsoleColor.DarkGreen);
        }
 public override void OnContext(QLib.FSM.iContext context)
 {
     this.context = context as Context;
 }
 public override void OnContext(QLib.FSM.iContext context)
 {
 }