예제 #1
0
 // Игрок получает награду - опыт и деньги
 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);
 }
예제 #2
0
        // Здесь игрок получает награду, если выполнил одно из заданий
        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();
        }