public RubberDuck(IQuacking quacking, IFlying flying) { { Quacking = quacking; Flying = flying; } }
public static void CollectInput(Farm farm, IQuacking duck, bool clear = true) { bool allFull = farm.DuckHouses.All(field => field.AnimalCount == field.Capacity); if (allFull) { Console.WriteLine("No facilities available, press enter to continue"); Console.ReadLine(); } while (!allFull) { Utils.Clear(); if (farm.DuckHouses.Count < 1) { Console.WriteLine("Facility doesn't exist for selected animal."); Console.WriteLine("Press return key to go back to main menu."); Console.ReadLine(); Utils.Clear(); } else { for (int i = 0; i < farm.DuckHouses.Count; i++) { Console.Write($"{i + 1}. Duck House: Total: {farm.DuckHouses[i].AnimalCount} of {farm.DuckHouses[i].Capacity} ("); farm.DuckHouses[i].listDucks(); Console.WriteLine(")"); } Console.WriteLine(); // How can I output the type of animal chosen here? Console.WriteLine($"Place the animal where?"); Console.Write("> "); try { int choice = Int32.Parse(Console.ReadLine()); if (farm.DuckHouses[choice - 1].AnimalCount < farm.DuckHouses[choice - 1].Capacity) { farm.DuckHouses[choice - 1].AddResource(duck); break; } else { Console.WriteLine("This facility is full, please choose another one"); Console.WriteLine("Press enter to continue"); Console.ReadLine(); } } catch (Exception) { Console.WriteLine("Wrong input, please chose another."); Console.WriteLine("Press enter to continue"); Console.ReadLine(); } } } }
public IDuck Create(FlyType fly, QuackType quack, SwimType swim) { IFlying flying = _fly.Create(fly); IQuacking quacking = _quack.Create(quack); ISwimming swimming = _swim.Create(swim); return(new UniversalDuck(flying, quacking, swimming)); }
public Penguin(ISwimming swim, IQuacking quack, IFlying fly) { swim_ = swim; quack_ = quack; fly_ = fly; }
public Rubber(ISwimming swim, IQuacking quack, IFlying fly) { swim_ = swim; quack_ = quack; fly_ = fly; }
public UniversalDuck(IFlying fly, IQuacking quack, ISwimming swim) : base(fly, quack, swim) { }
public WildDuck(IFlying flying, IQuacking quacking) { Flying = flying; quacking = Quacking; }
public WildDuck() { Flying = new Flying(); Quacking = new Quacking(); }
public Mallarrd(ISwimming swim, IQuacking quack, IFlying fly) { swim_ = swim; quack_ = quack; fly_ = fly; }
protected BaseDuck(IFlying fly, IQuacking quack, ISwimming swim) { _fly = fly ?? throw new ArgumentNullException(); _swim = swim ?? throw new ArgumentNullException(); _quack = quack ?? throw new ArgumentNullException(); }