// Игрок получает награду - опыт и деньги public static void GetRewardForPlayer(Player player, int money, int skill) { player.AddMoney(money); player.BattleSkill += skill; while (player.NextLevelBorder <= player.BattleSkill) { Enemy.ChangeEnemyBorder(player.Level); player.ChangeBattleLevel(); } Task.CheckTask(player); }
// Здесь игрок получает награду, если выполнил одно из заданий public void GetRewardForTask(Player player) { Console.Clear(); if (!CheckTasks(player)) { Console.WriteLine("У вас нет заданий в этом городе"); Console.ReadKey(); return; } bool isDoneTask = false; int moneyReward = 0; int skillReward = 0; for (int i = 0; i < player.Tasks.Count; i++) { var task = player.Tasks[i]?.Item2; if (task?.EnemyCountDied >= task?.EnemyCount) { isDoneTask = true; moneyReward += task.MoneyReward; skillReward += task.SkillReward; player.Tasks.RemoveAt(i); } } if (isDoneTask) { player.AddMoney(moneyReward); player.BattleSkill += skillReward; Console.WriteLine("Вы получили {0} монет и {1} опыта", moneyReward, skillReward); while (player.BattleSkill >= player.NextLevelBorder) { player.ChangeBattleLevel(); } } else { Console.WriteLine("Вы еще не выполнили ни одного задания \n" + "Возвращайтесь, когда хоть одно задание будет выполненою"); } Console.ReadKey(); }