/// <summary> /// The player is prompted to select an enemy party member to attack for their current member's turn. /// </summary> /// <param name="member">Player's current attacking member.</param> /// <param name="receiver">Enemy Party</param> /// <returns>The chosen target's name.</returns> /// <remarks>If the chosen target is dead or does not exist, an appropriate message is displayed.</remarks> /// <remarks>If the user's presses enter with no input, a randomly select target's name is returned.</remarks> private static string playerCommandSelect(IEngageable member, Party receiver) { string target; Console.WriteLine(); Console.WriteLine("Please select a target for " + member); target = Console.ReadLine(); if (target.Equals("") || target.Equals(null) || target.Trim().Equals("")) { if (member.getTarget() != null) { target = member.getTarget().getName(); } else { target = receiver.getMember().getName(); } } if (receiver.getMember(target) == null) { Console.WriteLine(target); Text.color("\n" + target + " is not a valid target.", ConsoleColor.Red); } else if (receiver.getMember(target).isDead()) { if(!(member is Cleric)) { Text.color("\n" + target + " is already dead. You're a horrible person!", ConsoleColor.Red); } else { Text.color("\nYou cannot resurrect " + target + ". I'm sorry.", ConsoleColor.Red); } } return target; }