public static void DogDoorTestPath(int dogOutsideTime, bool ownersResponsive) { DogDoor door = new DogDoor(); BarkRecognizer recognizer = new BarkRecognizer(door); Remote remote = new Remote(door); Console.WriteLine("\nFido barks to go outside ..."); InitiateDoorOpen(ownersResponsive, remote, recognizer); Console.WriteLine("\nFido has gone outside for " + dogOutsideTime / 1000 + " seconds ..."); System.Threading.Thread.Sleep(dogOutsideTime); Console.WriteLine("\nFido's all done ..."); bool firstBark = true; while (!door.isOpen) { if (firstBark) { Console.WriteLine("\n... But he's stuck outside!"); Console.WriteLine("\nFido starts barking ..."); firstBark = false; InitiateDoorOpen(ownersResponsive, remote, recognizer); } } Console.WriteLine("\nFido's back inside ..."); while (door.isOpen) { // Wait } }
public static void DogDoorTestPath(int dogOutsideTime, bool ownersResponsive) { DogDoor door = new DogDoor(); BarkRecognizer recognizer = new BarkRecognizer(door); Remote remote = new Remote(door); Console.WriteLine("\nFido barks to go outside ..."); InitiateDoorOpen(ownersResponsive, remote, recognizer); Console.WriteLine("\nFido has gone outside for " + dogOutsideTime/1000 + " seconds ..."); System.Threading.Thread.Sleep(dogOutsideTime); Console.WriteLine("\nFido's all done ..."); bool firstBark = true; while (!door.isOpen) { if (firstBark) { Console.WriteLine("\n... But he's stuck outside!"); Console.WriteLine("\nFido starts barking ..."); firstBark = false; InitiateDoorOpen(ownersResponsive, remote, recognizer); } } Console.WriteLine("\nFido's back inside ..."); while(door.isOpen) { // Wait } }
public static int DogDoorTestPath(int dogOutsideTime, bool ownersResponsive) { DogDoor door = new DogDoor(); door.AddAllowedBark(new Bark("rowlf")); door.AddAllowedBark(new Bark("rooowlf")); door.AddAllowedBark(new Bark("rawlf")); door.AddAllowedBark(new Bark("woof")); BarkRecognizer recognizer = new BarkRecognizer(door); Remote remote = new Remote(door); bool isOwnersDog = true; Console.WriteLine("\nBruce barks to go outside ..."); InitiateDoorOpen(ownersResponsive, isOwnersDog, remote, recognizer); Console.WriteLine("\nBruce has gone outside for " + dogOutsideTime / 1000 + " seconds ..."); System.Threading.Thread.Sleep(dogOutsideTime); Console.WriteLine("\nBruce is all done ..."); bool firstBark = true; while (!door.isOpen) { if (firstBark) { Console.WriteLine("\n... But he's stuck outside!"); firstBark = false; // A different dog barks if (!ownersResponsive) { InitiateDoorOpen(ownersResponsive, !isOwnersDog, remote, recognizer); if (door.isOpen) { Console.WriteLine("\nAnother dog besides Bruce has come inside! ..."); return(1); } Console.WriteLine("\nThis dog is not allowed ..."); } // Bruce barks InitiateDoorOpen(ownersResponsive, isOwnersDog, remote, recognizer); if (door.isOpen) { Console.WriteLine("\nBruce is back inside ..."); } } } while (door.isOpen) { // Wait } return(0); }
public static int DogDoorTestPath(int dogOutsideTime, bool ownersResponsive) { DogDoor door = new DogDoor(); door.AddAllowedBark(new Bark("rowlf")); door.AddAllowedBark(new Bark("rooowlf")); door.AddAllowedBark(new Bark("rawlf")); door.AddAllowedBark(new Bark("woof")); BarkRecognizer recognizer = new BarkRecognizer(door); Remote remote = new Remote(door); bool isOwnersDog = true; Console.WriteLine("\nBruce barks to go outside ..."); InitiateDoorOpen(ownersResponsive, isOwnersDog, remote, recognizer); Console.WriteLine("\nBruce has gone outside for " + dogOutsideTime/1000 + " seconds ..."); System.Threading.Thread.Sleep(dogOutsideTime); Console.WriteLine("\nBruce is all done ..."); bool firstBark = true; while (!door.isOpen) { if (firstBark) { Console.WriteLine("\n... But he's stuck outside!"); firstBark = false; // A different dog barks if (!ownersResponsive) { InitiateDoorOpen(ownersResponsive, !isOwnersDog, remote, recognizer); if (door.isOpen) { Console.WriteLine("\nAnother dog besides Bruce has come inside! ..."); return 1; } Console.WriteLine("\nThis dog is not allowed ..."); } // Bruce barks InitiateDoorOpen(ownersResponsive, isOwnersDog, remote, recognizer); if (door.isOpen) { Console.WriteLine("\nBruce is back inside ..."); } } } while(door.isOpen) { // Wait } return 0; }
private static void InitiateDoorOpen(bool ownersResponsive, Remote remote, BarkRecognizer recognizer) { if (ownersResponsive) { Console.WriteLine("\nSo Gina grabs the remote control ..."); remote.pressButton(); } else { recognizer.recognize("Woof"); Console.WriteLine("\nThe door hears the dog and opens ..."); } }
static void Main(string[] args) { Models.DogDoor door = new Models.DogDoor(); door.AddAllowedBark(new Bark("hauu")); door.AddAllowedBark(new Bark("Hrauu")); door.AddAllowedBark(new Bark("hauhauu")); door.AddAllowedBark(new Bark("hauuuuuu")); BarkRecognizer recognizer = new BarkRecognizer(door); Remote remote = new Remote(door); Console.WriteLine("Azor szczeka, by wyjść na spacer..."); Console.WriteLine(); recognizer.Recognize(new Bark("hauu")); Console.WriteLine("Azor wyszedł na specer"); Console.WriteLine("Azor załatwił co trzeba..."); try { Thread.Sleep(10000); } catch (Exception ex) { } Console.WriteLine(".. ale Azor utknął na zewnątrz!"); Bark smallDogBark = new Bark("hiauu"); Console.WriteLine("Mały pies zaczął szczekać"); recognizer.Recognize(smallDogBark); try { Thread.Sleep(5000); } catch (Exception ex) { } Console.WriteLine("\nAzor zaczyna szczekać..."); recognizer.Recognize(new Bark("hauu")); Console.WriteLine("Azor wrócił do domu"); Console.ReadLine(); }
private static void InitiateDoorOpen(bool ownersResponsive, bool isOwnersDog, Remote remote, BarkRecognizer recognizer) { if (ownersResponsive) { Console.WriteLine("\nSo Gina grabs the remote control ..."); remote.pressButton(); } else { if (isOwnersDog) { // Now Bruce starts barking Console.WriteLine("\nBruce starts barking ..."); recognizer.recognize(new Bark("rooowlf")); } else { // Begin with another dog barking Bark smallDogBark = new Bark("yip"); Console.WriteLine("\nBitsie starts barking ..."); recognizer.recognize(smallDogBark); } } }