public void Recognize(Bark bark)
 {
     Console.WriteLine("Bark Recognizer: I've heard '" + bark.Sound + "'");
     List<Bark> allowedBarks = door.AllowedBarks;
     foreach (var allowedBark in allowedBarks)
     {
         if ((allowedBark.Sound).Equals(bark.Sound))
         {
             door.Open();
             return;
         }
     }
     Console.WriteLine("This dog is not allowed");
 }
예제 #2
0
        static void Main(string[] args)
        {
            DogDoor        door       = new DogDoor();
            Remote         remote     = new Remote(door);
            BarkRecognizer recognizer = new BarkRecognizer(door);

            door.AddAllowedBark(new Bark("rowlf"));
            door.AddAllowedBark(new Bark("rooowlf"));
            door.AddAllowedBark(new Bark("rawlf"));
            door.AddAllowedBark(new Bark("woof"));

            Console.WriteLine("Fido barks to go outside");
            recognizer.Recognize(new Bark("rowlf"));
            //remote.PressButton();

            Console.WriteLine("\nFido has gone outside");
            //remote.PressButton();

            try
            {
                Thread.Sleep(10000);
            }
            catch (ThreadInterruptedException e)
            {}

            Console.WriteLine("\nFido's all done");
            Console.WriteLine("... but he's stuck outside");
            Bark smallDogBark = new Bark("yip");

            Console.WriteLine("A small dog starts barking");
            recognizer.Recognize(smallDogBark);

            Console.WriteLine("Fido starts barking.");
            recognizer.Recognize(new Bark("rooowlf"));
            //Console.WriteLine("... so Gina grabs the remote control.");
            //remote.PressButton();

            Console.WriteLine("\nFido's back inside");
            try
            {
                Thread.Sleep(10000);
            }
            catch (ThreadInterruptedException e)
            { }
        }
예제 #3
0
        static void Main(string[] args)
        {
            DogDoor door = new DogDoor();
            Remote remote = new Remote(door);
            BarkRecognizer recognizer = new BarkRecognizer(door);

            door.AddAllowedBark(new Bark("rowlf"));
            door.AddAllowedBark(new Bark("rooowlf"));
            door.AddAllowedBark(new Bark("rawlf"));
            door.AddAllowedBark(new Bark("woof"));

            Console.WriteLine("Fido barks to go outside");
            recognizer.Recognize(new Bark("rowlf"));
            //remote.PressButton();

            Console.WriteLine("\nFido has gone outside");
            //remote.PressButton();

            try
            {
                Thread.Sleep(10000);
            }
            catch (ThreadInterruptedException e)
            {}

            Console.WriteLine("\nFido's all done");
            Console.WriteLine("... but he's stuck outside");
            Bark smallDogBark = new Bark("yip");
            Console.WriteLine("A small dog starts barking");
            recognizer.Recognize(smallDogBark);

            Console.WriteLine("Fido starts barking.");
            recognizer.Recognize(new Bark("rooowlf"));
                //Console.WriteLine("... so Gina grabs the remote control.");
                //remote.PressButton();

            Console.WriteLine("\nFido's back inside");
            try
            {
                Thread.Sleep(10000);
            }
            catch (ThreadInterruptedException e)
            { }
        }
예제 #4
0
 public void AddAllowedBark(Bark bark)
 {
     allowedBarks.Add(bark);
 }
예제 #5
0
 public void AddAllowedBark(Bark bark)
 {
     allowedBarks.Add(bark);
 }