/*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(); } }
//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()); }
//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); }