示例#1
0
        static void Main(string[] args)
        {
            User spectator1 = new User("spectator1");
            User spectator2 = new User("spectator2");

            ARobot robotBox = new RobotBox("rb1");

            robotBox.Attach(spectator1);
            robotBox.Attach(spectator2);
            ARobot robotKarate = new RobotKarate("rk1");

            robotKarate.Attach(spectator1);
            ARobot robotRambo = new RobotRambo("rr1");

            robotRambo.Attach(spectator2);


            FightRoom fightRoom = new FightRoom();

            fightRoom.Register(robotBox);
            fightRoom.Register(robotKarate);
            fightRoom.Register(robotRambo);

            robotBox.Send("rk1", "I'm comming for you");
            robotKarate.Send("rr1", "I'm comming for you");
            robotRambo.Send("rb1", "I'm comming for you");

            Console.WriteLine("-------------------");

            var rbThread = new Thread(() =>
            {
                robotBox.Run();
            });
            var rrThread = new Thread(() =>
            {
                robotRambo.Run();
            });
            var rkThread = new Thread(() =>
            {
                robotKarate.Run();
            });

            rbThread.Start();
            rrThread.Start();
            rkThread.Start();

            Console.ReadKey();
        }