Exemple #1
0
        public static void Simuleer(List <Mens> testlijst, int gentest = 5)
        {
            for (int i = 0; i < gentest; i++)
            {
                List <Mens> deKribbe = new List <Mens>();
                foreach (var mens in testlijst)
                {
                    int  partner = r.Next(0, testlijst.Count);
                    Mens babynew = mens.Plantvoort(testlijst[partner]);
                    if (babynew != null)
                    {
                        deKribbe.Add(babynew);
                    }
                }



                testlijst.AddRange(deKribbe);//nadat alle babys zijn gemaakt en in deKribbe lijst zijn geplaats -> deze lijst aan de bestaande toevoegen
            }

            //Statistieken verkrijgen
            GenereerStats(testlijst, gentest);

            //effe in commentaar om niet iedereen te tonen

            //foreach (var mens in testlijst)
            //{
            //    mens.ToonMens();
            //}
        }
        static void Main(string[] args)
        {
            List <Mens> mensen = new List <Mens>();

            for (int i = 0; i < 10; i++)
            {
                mensen.Add(new Mens(Geslacht.Vrouw));
            }

            for (int i = 0; i < 10; i++)
            {
                mensen.Add(new Mens(Geslacht.Man));
            }

            Mens.Simuleer(mensen);


            /*foreach (var mens in mensen)
             * {
             *  mens.ToonMens();
             * }
             *
             * Mens baby;
             * baby = mensen[0].Plantvoort(mensen[11]);//kind van 1ste vrouw met laatste man
             *
             * Console.WriteLine("\n");
             * Console.Write("Baby: "); baby.ToonMens();*/
        }
Exemple #3
0
        public Mens Plantvoort(Mens man)
        {
            if (Geslacht == Geslacht.Vrouw && man.Geslacht == Geslacht.Man && this.Generatie == man.Generatie) //enkel vrouwen kunnen babys hebben en man parameter moet ook een man zijn
                                                                                                               //this hoeft er niet bij, je kan ook gewoon Generatie schrijven
            {
                double   lengtekind = (man.MaxLengte + this.MaxLengte) / 2;                                    //this betekent het object waarin we nu zitten
                Oogkleur oogkind    = this.Oogkleur;
                if (r.Next(0, 2) == 0)
                {
                    oogkind = man.Oogkleur;//50% kans op kleur ogen van vader
                }

                if (r.Next(0, 101) == 0)
                {
                    oogkind = Oogkleur.Geel;
                }

                Geslacht g = Geslacht.Man;
                if (r.Next(0, 2) == 0)
                {
                    g = Geslacht.Vrouw;//50% kans op vrouw
                }

                return(new Mens(oogkind, g, lengtekind, Generatie + 1));
            }
            else
            {
                return(null);//als het een man is, kunnen geen kinderen baren
            }
        }