public Konteinerine() { lolzaidejuMasyvas = new LOLZaidejas[MaxZaideju]; lolzaidCount = 0; cszaidejuMasyvas = new CSZaidejas[MaxZaideju]; cszaidCount = 0; }
public Konteinerine(string ratas, string data) { this.ratas = ratas; this.data = data; lolzaidejuMasyvas = new LOLZaidejas[MaxZaideju]; cszaidejuMasyvas = new CSZaidejas[MaxZaideju]; }
/// <summary> /// Nuskaito duomenis is failu /// </summary> /// <param name="zaidimai">Konteinerines klases objektas</param> /// <param name="file">Atsinesti failu pavadinimai</param>> public static void ReadData(string file, Konteinerine[] zaidimai) { string ratas = null; string data = null; using (StreamReader reader = new StreamReader(@file)) { string line = null; if ((line = reader.ReadLine()) != null) { ratas = line; } if ((line = reader.ReadLine()) != null) { data = line; } Konteinerine konteinerine = ZaidimoRatas(zaidimai, ratas); while (null != (line = reader.ReadLine())) { string[] values = line.Split(','); char tipas = Convert.ToChar(line[0]); string vardas = values[1]; string pavarde = values[2]; string komanda = values[3]; switch (tipas) { case 'L': string pozicija = values[4]; string cempionas = values[5]; int nuzudymai = int.Parse(values[6]); int mirtys = int.Parse(values[7]); int dalyvNuzud = int.Parse(values[8]); LOLZaidejas lolzaidejas = new LOLZaidejas(vardas, pavarde, komanda, pozicija, cempionas, nuzudymai, mirtys, dalyvNuzud); //if (!konteinerine.lolzaidejuMasyvas.Contains(lolzaidejas)) { konteinerine.PridetiLOLzaideja(lolzaidejas); } break; case 'C': int nuzudymai1 = int.Parse(values[4]); int mirtys1 = int.Parse(values[5]); string megstGinklas = values[6]; CSZaidejas cszaidejas = new CSZaidejas(vardas, pavarde, komanda, nuzudymai1, mirtys1, megstGinklas); //if (!konteinerine.cszaidejuMasyvas.Contains(cszaidejas)) { konteinerine.PridetiCSzaideja(cszaidejas); } break; } } } }
static void Main(string[] args) { Konteinerine[] zaidimai = new Konteinerine[RatuSkaicius]; zaidimai[0] = new Konteinerine("1"); zaidimai[1] = new Konteinerine("2"); zaidimai[2] = new Konteinerine("3"); string[] filePaths = Directory.GetFiles(Directory.GetCurrentDirectory(), "*new.txt"); foreach (string path in filePaths) { ReadData(path, zaidimai); } // visi zaidejai is skirtingu ratu surasomi i viena objekta LOLZaidejas[] VisiLolZaidejai = new LOLZaidejas[MaxZaideju]; int lolcount = 0; SurasmasLolZaideju(zaidimai, out lolcount, ref VisiLolZaidejai); CSZaidejas[] VisiCsZaidejai = new CSZaidejas[MaxZaideju]; int cscount = 0; SurasmasCsZaideju(zaidimai, out cscount, ref VisiCsZaidejai); int newCount = 0; Zaidejas[] Sarasas = new Zaidejas[MaxZaideju]; for (int i = 0; i < lolcount; i++) { Sarasas[i] = VisiLolZaidejai[i]; newCount++; } for (int i = 0; i < cscount; i++) { Sarasas[newCount] = VisiCsZaidejai[i]; newCount++; } LOLZaidejas zaid = new LOLZaidejas(); for (int i = 0; i < newCount; i++) { if (Sarasas[i].GetType() == typeof(LOLZaidejas))// zaid.GetType()) { Console.WriteLine(Sarasas[i].ToString()); } } //---------------------------------- GeriausiasAsmeninisRezultatas(zaidimai, VisiLolZaidejai, lolcount, VisiCsZaidejai, cscount); UniversalusZaidejai(zaidimai, VisiLolZaidejai, lolcount, VisiCsZaidejai, cscount); KomanduSarasas(zaidimai); }
/// <summary> /// Skaiciuoja geriausia asmenini rezultata /// </summary> /// <param name="zaidimai">Konteinerines klases objektas</param> /// <param name="VisiLolZaidejai">Lol zaideju objektas</param> /// <param name="lolcount">skaitliukas, kiek zaideju</param> /// <param name="VisiCsZaidejai">Cs zaideju objektas</param> /// <param name="cscount">skaitliukas, kiek zaideju</param> public static void GeriausiasAsmeninisRezultatas(Konteinerine[] zaidimai, LOLZaidejas[] VisiLolZaidejai, int lolcount, CSZaidejas[] VisiCsZaidejai, int cscount) { for (int i = 0; i < lolcount; i++) { VisiLolZaidejai[i].nuzudymai = 0; VisiLolZaidejai[i].mirtys = 0; VisiLolZaidejai[i].dalyvNuzud = 0; for (int j = 0; j < RatuSkaicius; j++) { for (int k = 0; k < zaidimai[j].lolzaidCount; k++) { if (VisiLolZaidejai[i].pavarde == zaidimai[j].lolzaidejuMasyvas[k].pavarde) { VisiLolZaidejai[i].nuzudymai += zaidimai[j].lolzaidejuMasyvas[k].nuzudymai; VisiLolZaidejai[i].mirtys += zaidimai[j].lolzaidejuMasyvas[k].mirtys; VisiLolZaidejai[i].dalyvNuzud += zaidimai[j].lolzaidejuMasyvas[k].dalyvNuzud; } } } } for (int i = 0; i < lolcount; i++) { VisiLolZaidejai[i].KDA = (VisiLolZaidejai[i].nuzudymai + VisiLolZaidejai[i].dalyvNuzud) / VisiLolZaidejai[i].mirtys; } LOLZaidejas GeriausasKDA = new LOLZaidejas(); GeriausasKDA.KDA = 0; for (int i = 0; i < lolcount; i++) { if (VisiLolZaidejai[i].KDA > GeriausasKDA.KDA) { GeriausasKDA = VisiLolZaidejai[i]; } } Console.WriteLine("---------------------------------------------"); Console.WriteLine("Geriausias asmeninis rezultatas (LOL zaidejo)"); Console.WriteLine("---------------------------------------------"); Console.WriteLine(" Vardas | Pavarde | Komanda "); Console.WriteLine("---------------------------------------------"); Console.WriteLine(" {0,-11} | {1,-12} | {2,-12}", GeriausasKDA.vardas, GeriausasKDA.pavarde, GeriausasKDA.komanda); Console.WriteLine("---------------------------------------------"); Console.WriteLine(); for (int i = 0; i < cscount; i++) { VisiCsZaidejai[i].nuzudymai = 0; VisiCsZaidejai[i].mirtys = 0; for (int j = 0; j < RatuSkaicius; j++) { for (int k = 0; k < zaidimai[j].cszaidCount; k++) { if (VisiCsZaidejai[i].pavarde == zaidimai[j].cszaidejuMasyvas[k].pavarde) { VisiCsZaidejai[i].nuzudymai += zaidimai[j].cszaidejuMasyvas[k].nuzudymai; VisiCsZaidejai[i].mirtys += zaidimai[j].cszaidejuMasyvas[k].mirtys; } } } } for (int i = 0; i < cscount; i++) { VisiCsZaidejai[i].KD = (VisiCsZaidejai[i].nuzudymai / VisiCsZaidejai[i].mirtys); } CSZaidejas GeriausasKD = new CSZaidejas(); GeriausasKD.KD = 0; for (int i = 0; i < cscount; i++) { if (VisiCsZaidejai[i].KD > GeriausasKD.KD) { GeriausasKD = VisiCsZaidejai[i]; } } Console.WriteLine("---------------------------------------------"); Console.WriteLine("Geriausias asmeninis rezultatas (CS zaidejo)"); Console.WriteLine("---------------------------------------------"); Console.WriteLine(" Vardas | Pavarde | Komanda "); Console.WriteLine("---------------------------------------------"); Console.WriteLine(" {0,-11} | {1,-12} | {2,-12}", GeriausasKD.vardas, GeriausasKD.pavarde, GeriausasKD.komanda); Console.WriteLine("---------------------------------------------"); }
public void PridetiLOLzaideja(LOLZaidejas lolzaidejas) { lolzaidejuMasyvas[lolzaidCount] = lolzaidejas; lolzaidCount++; }