private static void takeTurn(Character character) { if (character.getTeam() == 1) { //int r = rnd.Next(bTeam.roster.Count); //Randomly pick opponent //while (bTeam.roster[r].getHP() <= 0) //{ // r = rnd.Next(bTeam.roster.Count); //} int r = pickEnemy(character); takeAction(character, r); //character.Attack(bTeam.roster[r]); Console.WriteLine(bTeam.roster[r].getName() + ": " + bTeam.roster[r].getHP()); } else if (character.getTeam() == 2) { //int r = rnd.Next(aTeam.roster.Count); //Randomly pick opponent //while (aTeam.roster[r].getHP() <= 0) //{ // r = rnd.Next(aTeam.roster.Count); //} int r = pickEnemy(character); takeAction(character, r); //character.Attack(aTeam.roster[r]); //teamMember hurts aTeam.roster[r] Console.WriteLine(aTeam.roster[r].getName() + ": " + aTeam.roster[r].getHP()); } else { Console.WriteLine("You're on the wrong team!"); } }
private static int pickEnemy(Character character) { int position = 0; int posMax = 0; if (character.getTeam() == 1) { posMax = bTeam.roster.Count(); } else if (character.getTeam() == 2) { posMax = aTeam.roster.Count(); } while (true) { Console.Clear(); Console.WriteLine(" Attacking: {0}", character.getName()); if (character.getTeam() == 1) { int i = 0; foreach (Character enemy in bTeam.roster) { if (position == i) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(" Name: {0}, HP: {1}", bTeam.roster[i].getName(), bTeam.roster[i].getHP()); Console.ForegroundColor = ConsoleColor.White; } else { Console.WriteLine(" Name: {0}, HP: {1}", bTeam.roster[i].getName(), bTeam.roster[i].getHP()); } i++; } } if (character.getTeam() == 2) { int i = 0; foreach (Character enemy in aTeam.roster) { if (position == i) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(" Name: {0}, HP: {1}", aTeam.roster[i].getName(), aTeam.roster[i].getHP()); Console.ForegroundColor = ConsoleColor.White; } else { Console.WriteLine(" Name: {0}, HP: {1}", aTeam.roster[i].getName(), aTeam.roster[i].getHP()); } i++; } } //Read Key Input ConsoleKeyInfo keypressed = Console.ReadKey(false); if ((int)keypressed.Key == (char)ConsoleKey.DownArrow && position < posMax) { position += 1; } else if ((int)keypressed.Key == (char)ConsoleKey.UpArrow && position > 0) { position -= 1; } else if ((int)keypressed.Key == (char)ConsoleKey.Enter) { Console.BackgroundColor = ConsoleColor.Black; Console.CursorVisible = true; Console.Clear(); return position; } } }