Example #1
0
        static void Main(string[] args)
        {
            #region demo
            Context c = new Context(new ConcreteStateA());
            c.Request();
            c.Request();
            c.Request();
            #endregion
            //Work ww=new Work();
            //ww.Hour = 9;
            //ww.Write();
            //ww.Hour = 13;
            //ww.Write();
            //ww.Hour = 15;
            //ww.Write();
            //ww.Finish = false;
            //ww.Hour = 18;
            //ww.Write();

            //ww.Hour = 20;
            //ww.Write();
            //ww.Hour = 22;
            //ww.Write();
            Console.Read();
        }
        // The user interface
        static void Main()
        {
            // context.s are States
            // Decide on a starting state and hold onto the Context thus established
            Random  rnd      = new Random();
            int     strength = rnd.Next(50, 150);
            int     stamina  = rnd.Next(50, 150);
            Context context  = new Context(strength, stamina);

            context.State = new RestingState();
            char command = ' ';

            Console.WriteLine("Welcome to \"The State Game\"!");
            Console.WriteLine("You are standing here looking relaxed!");
            Console.WriteLine("Your strength throught a game is " + strength + "/150 and your current stamina is " + stamina + "/150");
            Console.WriteLine("By moving and running your stamina will sporadically increase...");

            while (char.ToLower(command) != 'e' && char.ToLower(command) != 'y')
            {
                if (context.CountPsy > 2)
                {
                    context.Request('y');
                }
                Console.WriteLine("\nWhat would you like to do now?");
                Console.Write("   Move    Attack    Stop    Run    Panic    CalmDown    Exit the game: ==>");
                string choice;
                do
                {
                    choice = Console.ReadLine();
                }while (choice == null);
                command = choice[0];
                context.Request(command);
            }
            Console.ReadKey();
        }
Example #3
0
        static void Main(string[] args)
        {
            Context context = new Context(new ConcreteStateA());

            context.Request();
            context.Request();
            context.Request();
        }
Example #4
0
        static void Main(string[] args)
        {
            Context context = new Context(new StateA());

            context.Request();
            context.Request();
            context.Request();
        }
Example #5
0
        static void Main(string[] args)
        {
            Context context = new Context(new ConcreteStateA());
            context.Request();
            context.Request();
            context.Request();
            context.Request();

            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            Context c = new Context(new ConcreteStateA());

            c.Request();
            c.Request();
            c.Request();
            c.Request();

            Console.ReadLine();
        }
Example #7
0
        /// <summary>
        /// The entry point of the program, where the program control starts and ends.
        /// </summary>
        /// <param name="args">The command-line arguments.</param>
        public static void Main(string[] args)
        {
            // initialise context in state A
            Context c = new Context(new ConcreteStateA());

            // issue requests to toggle between A and B states
            c.Request();
            c.Request();
            c.Request();
            c.Request();
        }
        static void Main(string[] args)
        {
            Context context = new Context(new ConcreteStateA());

            context.Request();

            context.State = new ConcreteStateB();
            context.Request();

            Console.ReadKey();
        }
Example #9
0
        static void Main(string[] args)
        {
            Context theContext = new Context();

            theContext.SetState(new ConcreteStateA(theContext));
            theContext.Request(5);
            theContext.Request(15);
            theContext.Request(25);
            theContext.Request(35);
            Console.ReadLine();
        }
Example #10
0
        static void Main(string[] args)
        {
            // Setup context in a state
            Context c = new Context(new ConcreteStateA());

            // Issue requests, which toggles state
            c.Request();
            c.Request();
            c.Request();
            c.Request();
            Console.ReadKey();
        }
Example #11
0
        static void Main(string[] args)
        {
            // create Context object and suplied current state or initial state (state A).
            Context context = new Context(new StateA());

            //Change state request from A to B.
            context.Request();

            //Change state request from B to C.
            context.Request();

            //Change state request from C to A.
            context.Request();
        }
        // The user interface
        static void Main()
        {
            // context.s are States
            // Decide on a starting state and hold onto the Context thus established
            Context context = new Context();

            context.State = new RestingState();
            char command = ' ';

            Console.WriteLine("Welcome to \"The State Game\"!");
            Console.WriteLine("You are standing here looking relaxed!");
            while (char.ToLower(command) != 'e')
            {
                Console.WriteLine("\nWhat would you like to do now?");
                Console.Write("   Move    Attack    Stop    Run    Panic    CalmDown    Exit the game: ==>");
                string choice;
                do
                {
                    choice = Console.ReadLine();
                }while (choice == null);
                command = choice[0];
                context.Request(command);
            }
            Console.ReadKey();
        }
Example #13
0
        public static void Main(string[] args)
        {
            #region Prototype

            var context = new Context(new ConcreteStateA());
            context.Request();
            context.Request();
            context.Request();
            context.Request();

            Console.WriteLine();

            #endregion Prototype

            var emergenceWork = new Work();

            emergenceWork.Hour = 9;
            emergenceWork.WriteProgram();

            emergenceWork.Hour = 10;
            emergenceWork.WriteProgram();

            emergenceWork.Hour = 12;
            emergenceWork.WriteProgram();

            emergenceWork.Hour = 13;
            emergenceWork.WriteProgram();

            emergenceWork.Hour = 14;
            emergenceWork.WriteProgram();

            emergenceWork.Hour = 17;
            emergenceWork.WriteProgram();

            emergenceWork.TaskFinished = true;//任务完成,可以提前回家了
            // emergenceWork.TaskFinished = false;//任务没完成,在公司加班吧

            emergenceWork.Hour = 19;
            emergenceWork.WriteProgram();

            emergenceWork.Hour = 21;
            emergenceWork.WriteProgram();

            Console.ReadLine();
        }
Example #14
0
        static void Main(string[] args)
        {
            Context c = new Context(new ConcreteStateA());

            c.Request();
            c.Request();
            c.Request();
            c.Request();
            c.Request();

            //Example
            Work work = new Work();

            work.State = new PendingState();
            work.Start();
            work.Cancel();
            Console.ReadKey();
        }
Example #15
0
 public override void Handler(Context context)
 {
     if (context.Hour >= 12 && context.Hour < 14)
     {
         Console.WriteLine("中午好...");
         return;
     }
     context.State = new AfternoonState();
     context.Request();
 }
Example #16
0
 public override void Handler(Context context)
 {
     if (context.Hour >= 0 && context.Hour < 12)
     {
         Console.WriteLine("早上好...");
         return;
     }
     context.State = new NoonState();
     context.Request();
 }
Example #17
0
 public static void RunMain()
 {
     Context con = new Context();
     con.State = new NormalState();
     Random r = new Random();
     for (int i = 0; i < 25; i++)
     {
         Console.Write(con.Request(r.Next(3)));
     }
 }
Example #18
0
 public override void Handler(Context context)
 {
     if (context.Hour >= 14 && context.Hour < 18)
     {
         Console.WriteLine("下午好...");
         return;
     }
     context.State = new EveningState();
     context.Request();
 }
Example #19
0
        public static void Main(string[] args)
        {
            Context c = new Context(new StateB());

            for (int i = 0; i < 10; i++)
            {
                c.Show();
                c.Request();
            }
        }
Example #20
0
 public override void Handler(Context context)
 {
     if (context.Hour >= 18 && context.Hour < 24)
     {
         Console.WriteLine("晚上好...");
         return;
     }
     context.State = new MorningState();
     context.Request();
 }
Example #21
0
        static void Main(string[] args)
        {
            Context context = new Context(new ConcreateStateA());

            for (int i = 0; i < 10 ; i++)
            {
                context.Request();
            }

            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            //#region Book User Level
            //User user = new User("Hyman");
            //user.BuyBook(2000);
            //user.BuyBook(2000);
            //user.BuyBook(2000);
            //user.BuyBook(2000);
            //Console.Read();
            //#endregion

            #region State patter structure
            Context context = new Context();
            context.Request();
            context.Request();
            context.Request();
            context.Request();
            Console.Read();
            #endregion
        }
Example #23
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            Console.WriteLine("--------------------StatePattern--------------------");
            Console.WriteLine();
            var context = new Context();

            context.Minute = 10;
            context.Request();
            context.IsCancel = false;
            context.Request();
            context.Minute = 20;
            context.Request();
            context.Minute = 35;
            context.Request();
            context.Minute = 45;
            context.Request();

            Console.ReadKey();
        }
Example #24
0
        static void Main(string[] args)
        {
            Context context = new Context(new ConcreateStateA());

            for (int i = 0; i < 10; i++)
            {
                context.Request();
            }

            Console.ReadKey();
        }
Example #25
0
        // The user interface
        static void Main(string[] args)
        {
            Context context = new Context();

            context.State = new NormalState();
            Random r = new Random(37);

            for (int i = 5; i <= 25; i++)
            {
                int command = r.Next(3);
                Console.Write(context.Request(command) + " ");
            }
            Console.WriteLine();
        }
Example #26
0
        static void Main(string[] args)
        {
            /*
             * 状态模式(State Pattern)
             *
             * 如下划分早上、中午、下午、晚上四个时间段(状态)
             * ---------------------
             * 早上(0-12)
             * 中午(12-14)
             * 下午(14-18)
             * 晚上(18-24)
             * ---------------------
             */
            Context context = new Context()
            {
                State = new MorningState(),
                Hour  = 23
            };

            context.Request();
            Console.ReadKey();
        }
 public static void RunMain()
 {
     Context context = new Context();
     context.State = new NormalState();
     Random r = new Random();
     for (int i = 0; i < 25; i++)
     {
         int command = r.Next(3);
         context.Request(command);
     }
 }
Example #28
0
        static void Main(string[] args)
        {
            Console.WriteLine("状态模式:");

            Context context = new Context(new StateA());

            context.Request();
            context.Request();
            context.Request();
            context.Request();

            #region 角色系统
            //Role role = new Role(new Primary(), 0.0f);
            //role.IsVictory = true;
            //role.Play();
            //role.IsVictory = true;
            //role.Play();
            //role.IsVictory = true;
            //role.Play();
            //role.IsVictory = true;
            //role.Play();
            //role.IsVictory = true;
            //role.Play();
            //role.IsVictory = true;
            //role.Play();
            //role.IsVictory = false;
            //role.Play();
            //role.IsVictory = false;
            //role.Play();
            //role.IsVictory = false;
            //role.Play();
            //role.IsVictory = false;
            //role.Play();
            //role.IsVictory = false;
            //role.Play();
            //role.IsVictory = false;
            //role.Play();
            //role.IsVictory = false;
            //role.Play();
            //role.IsVictory = false;
            //role.Play();
            //role.IsVictory = false;
            //role.Play();
            //role.IsVictory = false;
            //role.Play();
            #endregion

            #region  输门
            //TransmissionGate transGate = new TransmissionGate(new Closed());
            //transGate.Complete();
            //transGate.Click();
            //transGate.TimeOut();
            //transGate.Click();
            //transGate.Complete();
            //transGate.TimeOut();
            //transGate.Click();
            //transGate.Complete();
            //transGate.TimeOut();
            //transGate.Click();
            //transGate.Complete();
            //transGate.Click();
            //transGate.Click();
            //transGate.Complete();
            #endregion

            Idle   idle   = new Idle();
            Walk   walk   = new Walk();
            Jump   jump   = new Jump();
            Attack attack = new Attack();

            idle.AddTransition(new JyTransition(idle, walk, 'w'));
            idle.AddTransition(new JyTransition(idle, jump, 'j'));
            idle.AddTransition(new JyTransition(idle, attack, 'k'));

            walk.AddTransition(new JyTransition(walk, idle, 's'));
            walk.AddTransition(new JyTransition(walk, jump, 'j'));
            walk.AddTransition(new JyTransition(walk, attack, 'k'));

            jump.AddTransition(new JyTransition(jump, idle, 's'));
            jump.AddTransition(new JyTransition(jump, walk, 'w'));
            jump.AddTransition(new JyTransition(jump, attack, 'k'));

            attack.AddTransition(new JyTransition(attack, idle, 's'));
            attack.AddTransition(new JyTransition(attack, walk, 'w'));
            attack.AddTransition(new JyTransition(attack, jump, 'j'));

            HeroStateMachine heroStateMachine = new HeroStateMachine(idle);
            heroStateMachine.AddState(walk);
            heroStateMachine.AddState(jump);
            heroStateMachine.AddState(attack);

            ConsoleKeyInfo ConsoleKeyInfo = new ConsoleKeyInfo();
            while (ConsoleKeyInfo.Key != ConsoleKey.Escape)
            {
                ConsoleKeyInfo = Console.ReadKey();
                Console.WriteLine(ConsoleKeyInfo.Key.ToString());
                heroStateMachine.Word = ConsoleKeyInfo.KeyChar;
                heroStateMachine.OnStay();
            }
        }
Example #29
0
		public static void Main (string[] args)
		{
			Context c = new Context (new StateB ());
			for (int i = 0; i < 10; i++) {
				c.Show ();
				c.Request ();
			}
		}