示例#1
0
        /// <summary>
        /// Gives account of how things started this turn. Output to console
        /// </summary>
        public void InitialDisplay()
        {
            int FishesCount, AlgaeCount;

            // using Linq
            //FishesCount = Organisms.Count(organism => organism is Fish);
            //AlgaeCount = Organisms.Count(organism => organism is Alga);

            // using custom method
            FishesCount = PseudoLink <Organism, Fish> .Count(Organisms);

            AlgaeCount = PseudoLink <Organism, Alga> .Count(Organisms);

            List <Organism> AliveOrganisms = PseudoLink <Organism> .GetIf(Organisms, IsOrganismAlive);

            string str = string.Format("There are currently {0} fishes and {1} algae in the aquarium.:\n",
                                       PseudoLink <Organism, Fish> .Count(Organisms),
                                       PseudoLink <Organism, Alga> .Count(Organisms));

            Console.WriteLine(str);
            WriteToFile(str);

            str = string.Format("{0} of these organisms are alive",
                                AliveOrganisms.Count());

            Console.WriteLine(str);
            WriteToFile(str);
        }
示例#2
0
        /// <summary>
        /// Gives account of aquarium's state at end of turn. Output to console.
        /// </summary>
        public void StatusDisplay()
        {
            List <Organism> ListFish = new List <Organism>();

            ListFish = PseudoLink <Organism, Fish> .GetSubset(Organisms);

            ListFish = PseudoLink <Organism> .GetIf(ListFish, IsOrganismAlive);

            string str = string.Format("At the end of turn {0}. {1} fishes alive. {2} algae alive. Still alive:",
                                       turn,
                                       PseudoLink <Organism> .GetCountWhen(ListFish, IsOrganismAlive),
                                       PseudoLink <Organism> .GetCountWhen((PseudoLink <Organism, Alga> .GetSubset(Organisms)), IsOrganismAlive));

            Console.WriteLine(str);
            WriteToFile(str);

            foreach (Fish fish in ListFish)
            {
                Console.WriteLine(" {0},", fish.Name);
            }
            ++turn;
        }