Beispiel #1
0
        static void Main(string[] args)
        {
            Time t = new Time();

            t.TimePasses();

            Park      ZoologiskHave = new Park();
            ZooWorker Bob           = new ZooWorker();
            ZooWorker Lars          = new ZooWorker();

            Cage ElephantCage = new Cage(6);

            for (int i = 0; i < 6; i++)
            {
                ElephantCage.AddAnimalToPen(new Elephant());
            }
            ZoologiskHave.AnimalCages.Add(ElephantCage);

            //Bleeds alot of Memory, reason unknown
            Task task = new Task(ZoologiskHave.RunPark);

            task.Start();
            Console.ReadKey();
            ZoologiskHave.ClosePark();
            Console.WriteLine(ZoologiskHave.CalculateAverageReview());
            Console.ReadKey();
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            //Animal animal = new Bear("LION");
            //Console.WriteLine(animal.GetType().Name);


            IRepository repository = new ZooRepository();
            Person      zooWorker  = new ZooWorker();

            var showAnimalsCommand = new ShowAllCommand(repository);
            var insertCommand      = new InsertCommand(repository);
            var feedCommand        = new FeedCommand(repository);
            var healCommand        = new HealCommand(repository);
            var deleteCommand      = new DeleteCommand(repository);

            //repository.ShowAnimalsGroupedByKind();
            //repository.ShowAnimalsByState(State.Full);

            Console.BufferHeight = 200;

            TimerCallback destFunc = new TimerCallback(repository.ChangeRandomAnimalState);
            Timer         changeRandomAnimalStateFiveSec = new Timer(destFunc, null, 5000, 5000);

            while (repository.IsAnythingAlive())
            {
                Console.WriteLine("Name\t\tHP\tMaxHP\tState\n");

                Console.WriteLine("Показать всех животных, сгруппированных по виду животного");
                repository.ShowAnimalsGroupedByKind();

                Console.WriteLine("Показать животных по состоянию - в параметрах передать Состояние");
                repository.ShowAnimalsByState(State.Full);

                Console.WriteLine("Показать всех тигров, которые больны");
                repository.ShowTigersWhichAreSick();

                Console.WriteLine("Показать слона с определенной кличкой, которая задается в параметре");
                repository.ShowElephantWithSpecifiedName("Слониха");

                Console.WriteLine("Показать список всех кличек животных, которые голодны");
                repository.ShowAnimalsNamesWhichAreHungry();

                Console.WriteLine("Показать самых здоровых животных каждого вида (по одному на каждый вид)");
                repository.ShowTheHealthestAnimalEachKinds();

                Console.WriteLine("Показать количество мертвых животных каждого вида");
                repository.ShowCountDeadAnimalsEachKinds();

                Console.WriteLine("Показать всех волков и медведей, у которых здоровье выше 3");
                repository.ShowAllWolfAndBearsWhichHealthAboveThree();

                Console.WriteLine("Показать животное с максимальным здоровьем и животное с минимальным здоровьем (описать одним выражением)");
                repository.ShowAnimalWithMaxHealthAndAnimalWithMinHealth();

                Console.WriteLine("Показать средней количество здоровья у животных в зоопарке");
                repository.ShowAverageHealthAllAnimals();

                zooWorker.Command = showAnimalsCommand;
                zooWorker.Run();

                showCommands();

                int commandNumber;
                int.TryParse(Console.ReadLine().Trim(), out commandNumber);

                zooWorker.Command = null;

                switch (commandNumber)
                {
                case 0:
                    Console.WriteLine("Unknown command");
                    break;

                case 1:
                    zooWorker.Command = insertCommand;
                    break;

                case 2:
                    zooWorker.Command = feedCommand;
                    break;

                case 3:
                    zooWorker.Command = healCommand;
                    break;

                case 4:
                    zooWorker.Command = deleteCommand;
                    break;

                case 5:
                    break;

                default:
                    Console.WriteLine("Unknown command");
                    break;
                }

                zooWorker.Run();

                Console.WriteLine("Press any button for continue...");
                Console.ReadLine();

                Console.Clear();
            }

            zooWorker.Command = showAnimalsCommand;
            zooWorker.Run();
            Console.WriteLine("All animals died. :((99((9((");
        }