예제 #1
0
        public const int TankDefence = 30;  // Tanko gynyba pagal kurias suranda tanką

        static void Main(string[] args)
        {
            Console.ReadKey();
            Console.OutputEncoding = Encoding.UTF8; //Konsolėje rašo lietuviškas raides
            Program         p               = new Program();
            const string    DataDir         = @"..\..\Data";
            BranchContainer branchContainer = new BranchContainer();

            p.ReadData(DataDir, ref branchContainer);
            CreateReportTable(branchContainer, "ReportTable.txt");
            PrintMostPopularRole(branchContainer);
            Console.WriteLine("2.Išspausdina pasikartojančius veikėjų vardus į Klaidos.csv");
            WriteFilteredPlayersData(branchContainer, "Klaidos.csv");
            Console.ReadKey();
            Console.WriteLine();
            Console.WriteLine("3.Išspausdina tankus pagal gyvybės ir gynybos taškus į Tankai.csv");
            var filteredTanksHeroes = new PlayerContainer();
            var filteredTanksNPCs   = new PlayerContainer();

            PrintTanks(branchContainer, "Tankai.csv", out filteredTanksHeroes, out filteredTanksNPCs);
            Console.WriteLine();
            int intelligenceLimit = ReadInt("4.Įveskite sveikąją reikšmę, kuria norėtumete, kad Herojai viršytų intelekto dydį: ");
            int damagePoint       = ReadInt("4.Įveskite sveikąją reikšmę, kuria norėtumėte, kad NPCs neviršytų žalos taškų dydžio: ");

            Console.WriteLine("4.Išspausdina rinktinę pagal Herojų intelektą ir NPCs žalos taškus į Rinktine.csv");
            var selectionHeroes = new PlayerContainer();
            var selectionNPCs   = new PlayerContainer();

            PrintGeneralSelection(branchContainer, "Rinktine.csv", intelligenceLimit, damagePoint, out selectionHeroes, out selectionNPCs);
            Console.ReadKey();
        }
예제 #2
0
        /// <summary>
        /// Įrašo tankus į failą.
        /// </summary>
        /// <param name="branchContainer">Filialų konteineris</param>
        /// <param name="file">Failas</param>
        /// <param name="filteredTanksHeroes">Herojų tankų konteineris</param>
        /// <param name="filteredTanksNPCs">NPCs tankų konteineris</param>
        public static void PrintTanks(BranchContainer branchContainer, string file, out PlayerContainer filteredTanksHeroes, out PlayerContainer filteredTanksNPCs)
        {
            FindTanks(branchContainer, out filteredTanksHeroes, out filteredTanksNPCs);

            using (var writer = new StreamWriter(file, false, Encoding.UTF8))
            {
                writer.WriteLine("Herojai");
                writer.WriteLine("Vardas;Klasė;Gyvybės taškai;Mana;Žalos taškai;Gynybos taškai;Jėga;Vikrumas;Intelektas;Ypatinga galia");
                for (int i = 0; i < filteredTanksHeroes.Count; i++)
                {
                    writer.WriteLine(filteredTanksHeroes.GetPlayer(i).ToText());
                }
                writer.WriteLine();
                writer.WriteLine("NPC");
                writer.WriteLine("Vardas;Klasė;Gyvybės taškai;Mana;Žalos taškai;Gynybos taškai;Gildija");
                for (int i = 0; i < filteredTanksNPCs.Count; i++)
                {
                    writer.WriteLine(filteredTanksNPCs.GetPlayer(i).ToText());
                }
            }
        }
예제 #3
0
 /// <summary>
 /// Suranda veikėjų rinktinę ir ideda į konteinerius
 /// </summary>
 /// <param name="branchContainer">Filialų konteineris</param>
 /// <param name="intelligenceLimit">Intelekto nurodytas dydis</param>
 /// <param name="damagePoint">Žalos taškų nurodytas dydis</param>
 /// <param name="selectionHeroes">Herojų rinktinės konteineris</param>
 /// <param name="selectionNPCs">NPCs rinktinės konteineris</param>
 public static void GeneralSelection(BranchContainer branchContainer, int intelligenceLimit, int damagePoint, out PlayerContainer selectionHeroes, out PlayerContainer selectionNPCs)
 {
     selectionHeroes = new PlayerContainer();
     selectionNPCs   = new PlayerContainer();
     for (int i = 0; i < branchContainer.Count; i++)
     {
         for (int j = 0; j < branchContainer.GetBranch(i).Players.Count; j++)
         {
             if ((branchContainer.GetBranch(i).GetPlayer(j) is Hero) && (branchContainer.GetBranch(i).GetPlayer(j) as Hero).Intelligence > intelligenceLimit)
             {
                 selectionHeroes.AddPlayer(branchContainer.GetBranch(i).GetPlayer(j));
             }
         }
         for (int j = 0; j < branchContainer.GetBranch(i).Players.Count; j++)
         {
             if ((branchContainer.GetBranch(i).GetPlayer(j) is NPC) && (branchContainer.GetBranch(i).GetPlayer(j) as NPC).Damage <= damagePoint)
             {
                 selectionNPCs.AddPlayer(branchContainer.GetBranch(i).GetPlayer(j));
             }
         }
     }
 }
예제 #4
0
 /// <summary>
 /// Suranda veikėjus tankus ir ideda juos į konteinerius
 /// </summary>
 /// <param name="branchContainer">Filialų konteineris</param>
 /// <param name="filteredTanksHeroes">Herojų tankų konteineris</param>
 /// <param name="filteredTanksNPCs">Herojų NPCs konteineris</param>
 public static void FindTanks(BranchContainer branchContainer, out PlayerContainer filteredTanksHeroes, out PlayerContainer filteredTanksNPCs)
 {
     filteredTanksHeroes = new PlayerContainer();
     filteredTanksNPCs   = new PlayerContainer();
     for (int i = 0; i < branchContainer.Count; i++)
     {
         for (int j = 0; j < branchContainer.GetBranch(i).Players.Count; j++)
         {
             if ((branchContainer.GetBranch(i).GetPlayer(j) is Hero) && branchContainer.GetBranch(i).GetPlayer(j).IsTank(TankHealth, TankDefence))
             {
                 filteredTanksHeroes.AddPlayer(branchContainer.GetBranch(i).GetPlayer(j));
             }
         }
         for (int j = 0; j < branchContainer.GetBranch(i).Players.Count; j++)
         {
             if ((branchContainer.GetBranch(i).GetPlayer(j) is NPC) && branchContainer.GetBranch(i).GetPlayer(j).IsTank(TankHealth, TankDefence))
             {
                 filteredTanksNPCs.AddPlayer(branchContainer.GetBranch(i).GetPlayer(j));
             }
         }
     }
 }
예제 #5
0
        /// <summary>
        /// Įrašo rinktinę į failą
        /// </summary>
        /// <param name="branchContainer">Filialų konteineris</param>
        /// <param name="file">Failas</param>
        /// <param name="intelligenceLimit">Intelekto nurodytas dydis</param>
        /// <param name="damagePoint">Žalos taškų nurodytas dydis</param>
        /// <param name="selectionHeroes">Herojų rinktinės konteineris</param>
        /// <param name="selectionNPCs">NPCs rinktinės konteineris</param>
        public static void PrintGeneralSelection(BranchContainer branchContainer, string file, int intelligenceLimit, int damagePoint, out PlayerContainer selectionHeroes, out PlayerContainer selectionNPCs)
        {
            GeneralSelection(branchContainer, intelligenceLimit, damagePoint, out selectionHeroes, out selectionNPCs);
            selectionHeroes.SortPlayers();
            selectionNPCs.SortPlayers();

            using (var writer = new StreamWriter(file, false, Encoding.UTF8))
            {
                writer.WriteLine("Herojai");
                writer.WriteLine("Vardas;Klasė;Gyvybės taškai;Mana;Žalos taškai;Gynybos taškai;Jėga;Vikrumas;Intelektas;Ypatinga galia");
                for (int i = 0; i < selectionHeroes.Count; i++)
                {
                    writer.WriteLine(selectionHeroes.GetPlayer(i).ToText());
                }
                writer.WriteLine();
                writer.WriteLine("NPC");
                writer.WriteLine("Vardas;Klasė;Gyvybės taškai;Mana;Žalos taškai;Gynybos taškai;Gildija");
                for (int i = 0; i < selectionNPCs.Count; i++)
                {
                    writer.WriteLine(selectionNPCs.GetPlayer(i).ToText());
                }
            }
        }