Beispiel #1
0
        static void Main(string[] args)
        {
            FileKezelo fileKezelo = new FileKezelo("Drones.txt");
            DronGyar   dronGyar   = new DronGyar(fileKezelo);

            VeletlenszeruHarc(dronGyar);
            Eredmeny(dronGyar);
            Console.ReadLine();
        }
Beispiel #2
0
        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("__________________________________________________________");
        }
Beispiel #3
0
        private static void VeletlenszeruHarc(DronGyar dronGyar)
        {
            Random rnd         = new Random(DateTime.Now.Millisecond);
            int    dronokSzama = dronGyar.Dronok.Count;

            for (int i = 0; i < 5000; i++)
            {
                int   kovetkezoDron  = rnd.Next(0, dronokSzama);
                Dron  dron           = dronGyar.Dronok[kovetkezoDron];
                Akcio kovetkezoAkcio = (Akcio)rnd.Next(0, 4);
                if (dron.EletbenVan)
                {
                    dron.Jelentes(string.Format("Ez az én köröm és {0}ni fogok!", kovetkezoAkcio));
                    try
                    {
                        switch (kovetkezoAkcio)
                        {
                        case Akcio.Repul:
                            float a, b, c, d;
                            a = rnd.Next(100, 1000);
                            b = rnd.Next(100, 1000);
                            c = rnd.Next(100, 1000);
                            d = rnd.Next(100, 1000);
                            float ujX = a / b;
                            float ujY = c / d;
                            dron.Repul(ujX, ujY);
                            break;

                        case Akcio.Fotoz:
                            //mindkét gyerek drón típus megvalósítja az IMegfigyelő interfészt
                            Fenytartomany fenytartomany = (Fenytartomany)rnd.Next(0, 5);
                            (dron as IMegfigyelo).Fotoz(fenytartomany);
                            break;

                        case Akcio.Bombaz:
                            if (dron is IHarcos)
                            {
                                (dron as IHarcos).Bombaz();
                            }
                            else
                            {
                                if (dron.EletbenVan)
                                {
                                    dron.Jelentes("Nem vagyok IHarcos, nem bombázok. Peace!", ConsoleColor.White);
                                }
                                else
                                {
                                    dron.Jelentes("Ha élnék nem bombáznék, mert nem vagyok IHarcos, de lelőttek!", ConsoleColor.Red);
                                }
                            }
                            break;

                        case Akcio.Lo:
                            if (dron is IHarcos)
                            {
                                int  masikDron = rnd.Next(0, dronokSzama);
                                Dron masik     = dronGyar.Dronok[masikDron];
                                if (masik.EletbenVan)
                                {
                                    masik.Jelentes("Van egy kis problémám! Mi az?");
                                    (dron as IHarcos).Lo(masik);
                                }
                                else
                                {
                                    dron.Jelentes(string.Format("Ráfordultam {0} drónra, de már lelőtték!", masik.Azonosito), ConsoleColor.Red);
                                }
                            }
                            else
                            {
                                if (dron.EletbenVan)
                                {
                                    dron.Jelentes("Nem vagyok IHarcos, nem lövöldözök!", ConsoleColor.White);
                                }
                                else
                                {
                                    dron.Jelentes("Ha élnék nem lövöldöznék, mert nem vagyok IHarcos, ráadásul még le is lőttek!", ConsoleColor.Red);
                                }
                            }
                            break;

                        default:
                            break;
                        }
                    }
                    catch (DronException dronException)
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine(dronException.Message);
                    }
                    catch (Exception exception)
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("Valami komolyabb hiba történt: {0}", exception.Message);
                    }
                }
                else
                {
                    dron.Jelentes(string.Format("Ez az én köröm lett volna, ha még élnék és {0}ni kellett volna!", kovetkezoAkcio), ConsoleColor.DarkGreen);
                }
                //System.Threading.Thread.Sleep(150);
            }
        }