예제 #1
0
        /*Låter användaren välja två monster utifrån vilka ett nytt monster skapas med metoden GetOffspring.
         * Valda monster måsta vara av olika kön */

        public static void Breed(Monster monster)
        {
            if (monster.Genes[0] == 0)
            {
                TextManager.PrintInstruction("SelectFemale");
            }
            else
            {
                TextManager.PrintInstruction("SelectMale");
            }

            Monster partner = ChooseMonster(Console.ReadLine());

            if (partner.Genes[0] != monster.Genes[0])
            {
                Offspring child = GetOffspring(monster, partner);

                AddMonster(child);

                RevealOffspring(child);
            }

            else
            {
                TextManager.PrintInstruction("Error1");
                Console.ReadLine();
            }
        }
예제 #2
0
        //Skiver ut resultatet av Breed-metoden samt låter användaren namnge det nya monstret

        public static void RevealOffspring(Offspring child)
        {
            TextManager.Clear("All");
            child.PrintTraits();
            Console.WriteLine();
            TextManager.PrintInstruction("Name");
            child.SetName(Console.ReadLine());
        }
예제 #3
0
        //Ett nytt monster med nya egenskaper skapas utifrån två valda monsters gener

        public static Offspring GetOffspring(Monster male, Monster female)
        {
            Offspring child = new Offspring();

            for (int i = 0; i < male.Genes.Length; i++)
            {
                if (Program.Generator.Next(2) == 0)
                {
                    child.Genes[i] = male.Genes[i];
                }

                else
                {
                    child.Genes[i] = female.Genes[i];
                }
            }

            child.GetTraits(); //Hämtar traits utifrån genes

            return(child);
        }