private void DronGyartas(string sor) { string[] parameterek = Darabolas(sor); bool felderito = sor.StartsWith("Felderito"); if ((felderito && (parameterek.Length != 5)) || (!felderito && (parameterek.Length != 6))) { throw new Exception("Nem megfelelő mennyiségű paraméter a drón legyártásához"); } ushort azonosito = _dronAzonosito++; string elnevezes = parameterek[1]; Position pozicio = PozicioAParameterbol(parameterek[2], parameterek[3]); if (felderito) { bool kepesHokepetKesziteni = KepesEHokepetKesziteni(parameterek[4]); FelderitoDron felderitoDron = new FelderitoDron(azonosito, elnevezes, pozicio, kepesHokepetKesziteni); Dronok.Add(felderitoDron); } else { uint bombakSzama = UintParser(parameterek[4]); float lotav = FloatParser(parameterek[5]); HarciDron harciDron = new HarciDron(azonosito, elnevezes, pozicio, bombakSzama, lotav); Dronok.Add(harciDron); } }
private static int FotokSzamaAFenytartomanyban(FelderitoDron felderitoDron, Fenytartomany fenytartomany) { int fotoDb = 0; if (felderitoDron.FenytartomanyokbanMennyiFotoKeszult.ContainsKey(fenytartomany)) { fotoDb += felderitoDron.FenytartomanyokbanMennyiFotoKeszult[fenytartomany]; } return(fotoDb); }
private static void Eredmeny(DronGyar dronGyar) { int harciDronDb = 0, felderitoDronDb = 0, fotoUvDb = 0, fotoLathatoDb = 0, fotoIrDb = 0, fotoHokepDb = 0; uint maradtBombaDb = 0, maradtBombaCsakEloDb = 0; foreach (Dron dron in dronGyar.Dronok) { if (dron is HarciDron) { HarciDron harciDron = dron as HarciDron; if (dron.EletbenVan) { harciDronDb++; maradtBombaCsakEloDb += harciDron.BombakSzama; } maradtBombaDb += harciDron.BombakSzama; fotoHokepDb += harciDron.FotokSzama; } else { if (dron.EletbenVan) { felderitoDronDb++; } FelderitoDron felderitoDron = dron as FelderitoDron; fotoHokepDb += FotokSzamaAFenytartomanyban(felderitoDron, Fenytartomany.hokep); fotoIrDb += FotokSzamaAFenytartomanyban(felderitoDron, Fenytartomany.infravoros); fotoLathatoDb += FotokSzamaAFenytartomanyban(felderitoDron, Fenytartomany.lathato_feny); fotoUvDb += FotokSzamaAFenytartomanyban(felderitoDron, Fenytartomany.ultraibolya); } } for (int i = 0; i < 4; i++) { Console.WriteLine(); } Console.ResetColor(); Console.WriteLine("Életben maradt {0} felderítő és {1} harci drón.", felderitoDronDb, harciDronDb); Console.WriteLine("Maradt összesen {0} bomba a kilőtt drónokon lévőkkel együtt és {1} bomba csak az életben lévőket figyelembe véve.", maradtBombaDb, maradtBombaCsakEloDb); Console.WriteLine("A készített fotók száma az egyes fénytartományokban a következő:"); Console.WriteLine("__________________________________________________________"); Console.WriteLine("{0,-7}|{1,-12}|{2,-14}|{3,-13}|{4,8}", Fenytartomany.hokep, Fenytartomany.infravoros, Fenytartomany.lathato_feny, Fenytartomany.ultraibolya, "Összes"); Console.WriteLine("{0,-7}|{1,-12}|{2,-14}|{3,-13}|{4,8}", fotoHokepDb, fotoIrDb, fotoLathatoDb, fotoUvDb, fotoHokepDb + fotoIrDb + fotoLathatoDb + fotoUvDb); Console.WriteLine("__________________________________________________________"); }