/// <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;
                    }
                }
            }
        }