/// <summary> /// Choose Skill to Attack opponent /// </summary> /// <param name="opponent"></param> public virtual void SkillAttack(CharacterBase opponent) { Command = false; ShowSkill(); while (!Command) { if (Skills.Length == 3) { Console.WriteLine("Choice Skill[1,2,3]"); var skillNumber = Convert.ToInt32(Console.ReadLine()); Console.Write("\n"); var number = skillNumber - 1; switch (skillNumber) { case 1: Console.WriteLine($"{Name} Skill {skillNumber}: {Skills[number].Name}"); SelectedSkill = Skills[number]; UseSkill(opponent); Command = true; break; case 2: Console.WriteLine($"{Name} Skill {skillNumber}: {Skills[number].Name}"); SelectedSkill = Skills[number]; UseSkill(opponent); Command = true; break; case 3: Console.WriteLine($"{Name} Skill {skillNumber}: {Skills[number].Name}"); SelectedSkill = Skills[number]; UseSkill(opponent); Command = true; break; default: Console.WriteLine("Invalid Attack Command !"); break; } } else if (Skills.Length == 5) { Console.WriteLine("Choice Skill[1,2,3,4,5,6]"); var skillNumber = Convert.ToInt32(Console.ReadLine()); Console.Write("\n"); var number = skillNumber - 1; switch (skillNumber) { case 1: Console.WriteLine($"{Name} Skill {skillNumber}: {Skills[number].Name}"); SelectedSkill = Skills[number]; UseSkill(opponent); Command = true; break; case 2: Console.WriteLine($"{Name} Skill {skillNumber}: {Skills[number].Name}"); SelectedSkill = Skills[number]; UseSkill(opponent); Command = true; break; case 3: Console.WriteLine($"{Name} Skill {skillNumber}: {Skills[number].Name}"); SelectedSkill = Skills[number]; UseSkill(opponent); Command = true; break; case 4: Console.WriteLine($"{Name} Skill {skillNumber}: {Skills[number].Name}"); SelectedSkill = Skills[number]; UseSkill(opponent); Command = true; break; case 5: Console.WriteLine($"{Name} Skill {skillNumber}: {Skills[number].Name}"); SelectedSkill = Skills[number]; UseSkill(opponent); Command = true; break; case 6: Console.WriteLine($"{Name} Skill {skillNumber}: {Skills[number].Name}"); SelectedSkill = Skills[number]; UseSkill(opponent); Command = true; break; default: Console.WriteLine("Invalid Attack Command !"); break; } } } }