/// <summary> /// Атака оружием игрока. Если во время выбораоружия ввести 333 - вызываем супер-атаку /// </summary> /// <param name="player"> Игрок </param> /// <param name="enemyCount"> Количество противников </param> /// <returns> Массив с уроном для противников </returns> public static int[] PlayerWeaponsAttack(Player player, int enemyCount) { var type = player.SelectType(); Window.PrintArray(player.GetCharacteristicsOfWeapons(type)); int index = Program.Parse(Console.ReadLine(), 0); if (index == 333) { return(player.SuperAttack(enemyCount)); } /* Мы выбрали какой-либо тип оружия, но метод атаки является обобщенным, * он принимает в себя не один вид оружия, а сразу все три. * И в зависимости от выбранного типа атакует этим оружием. */ var bow = player.Bow; var sword = player.GetSword(index < player.Swords.Count ? index : 0); var spell = player.GetSpell(index < player.Spells.Count ? index : 0); // массив с индексами противников, которых атакуем var enInd = type == Weapons.WeaponsType.Sword ? GetEnemyIndexs() : new[] { 0 }; return(player.Attack(enemyCount, type, bow, spell, sword, enInd)); }