static void Main(string[] args)
        {
            List <Duck> listDucks = new List <Duck>();

            IFlybehaviour fbNW = new FlyNoWay();
            IFlybehaviour fww  = new FlyWithWings();

            MallardDuck md = new MallardDuck();

            md.SetFly(fww);

            RedheadDuck rh = new RedheadDuck();

            rh.SetFly(fww);

            RubberDuck rd = new RubberDuck();

            rd.SetFly(fbNW);

            DecoyDuck dd = new DecoyDuck();

            dd.SetFly(fbNW);

            listDucks.Add(md);
            listDucks.Add(rh);
            listDucks.Add(rd);
            listDucks.Add(dd);

            foreach (var duck in listDucks)
            {
                //duck.Quack();
                duck.Swim();
                duck.Fly();
            }
        }
示例#2
0
        static void Main()
        {
            //Set variables.
            Boolean TestForKeys = true;
            //Create Animals.
            Duck mallard = new MallardDuck();
            Duck rubber  = new RubberDuck();

            //Show welcome text.
            Text.WelcomeText();

            while (TestForKeys == true)
            {
                ConsoleKeyInfo result = Console.ReadKey();
                if ((result.KeyChar == 'q') || (result.KeyChar == 'Q'))
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("\nYou pressed: '" + result.KeyChar + "'. Quitting...");
                    Console.ResetColor();
                    Text.GoodbyeText();
                    TestForKeys = false;
                    System.Threading.Thread.Sleep(5000);
                    Environment.Exit(0);
                }
                else if ((result.KeyChar == 'm') || (result.KeyChar == 'M'))
                {
                    Console.WriteLine("\nYou pressed: '" + result.KeyChar + "'. Going to Mammals.");
                    //Show a MallardDuck.
                    mallard.display();
                    mallard.performQuack();
                    mallard.performFly();
                    Console.WriteLine();
                    //Show a RubberDuck.
                    rubber.display();
                    rubber.performQuack();
                    rubber.performFly();
                    //Change the fly behaviour of the rubberduck.
                    rubber.setFlyBehaviour(new FlyRocketPowered());
                    rubber.performFly();
                    Console.WriteLine();
                }
                else if ((result.KeyChar == 'r') || (result.KeyChar == 'R'))
                {
                    Console.WriteLine("\nYou pressed: '" + result.KeyChar + "' Going to Reptiles.");

                    //Show Reptiles
                }
                else
                {
                    Console.Write("\nThis This is not a recognized command. Try again: ");
                }
            }
        }
        void simulate()
        {
            IQuackable mallardDuck = new MallardDuck();
            IQuackable redheadDuck = new RedheadDuck();
            IQuackable duckCall    = new DuckCall();
            IQuackable rubberDuck  = new RubberDuck();

            Console.WriteLine("Duck Simulator");

            simulate(mallardDuck);
            simulate(redheadDuck);
            simulate(duckCall);
            simulate(rubberDuck);
        }
示例#4
0
        static void Main(string[] args)
        {
            Duck mallard = new MallardDuck();

            Console.WriteLine($"Mallard duck {new string('.', 50)}");
            mallard.Swim();
            mallard.PerformFly();
            mallard.PerformQuack();
            mallard.Display();

            Duck crested = new CrestedDuck();

            Console.WriteLine($"Crested duck {new string('.', 50)}");
            crested.Swim();
            crested.PerformFly();
            crested.PerformQuack();
            crested.Display();

            Duck rubber = new RubberDuck();

            Console.WriteLine($"Rubber duck {new string('.', 50)}");
            rubber.Swim();
            rubber.PerformFly();
            rubber.PerformQuack();
            rubber.Display();

            Duck decoy = new DecoyDuck();

            Console.WriteLine($"Decoy duck {new string('.', 50)}");
            decoy.Swim();
            decoy.PerformFly();
            decoy.PerformQuack();
            decoy.Display();

            Console.WriteLine($"Decoy duck amended {new string('.', 50)}");
            decoy.Swim();
            decoy.FlyBehavior = new FlyWithWings();
            decoy.PerformFly();
            decoy.PerformQuack();
            decoy.Display();
        }