Exemple #1
0
 void IMegfigyelo.Fotoz(Fenytartomany ft)
 {
     if (EletbenVan)
     {
         if (ft == Fenytartomany.hokep && !KepesHokepetKesziteni)
         {
             throw new DronException(this, "Hőkép készítése ezen a drónon nem támogatott.");
         }
         else
         {
             if (FenytartomanyokbanMennyiFotoKeszult.ContainsKey(ft))
             {
                 FenytartomanyokbanMennyiFotoKeszult[ft] += 1;
             }
             else
             {
                 FenytartomanyokbanMennyiFotoKeszult.Add(ft, 1);
             }
             this.Jelentes(string.Format("A fénykép a(z) {0} fénytartományban elkészült.", ft.ToString()));
         }
     }
     else
     {
         throw new DronException(this, "A drón megsemmisült, nem tud már fotózni sehogyan se. [Lelőtték :( ]");
     }
 }
Exemple #2
0
        private static int FotokSzamaAFenytartomanyban(FelderitoDron felderitoDron, Fenytartomany fenytartomany)
        {
            int fotoDb = 0;

            if (felderitoDron.FenytartomanyokbanMennyiFotoKeszult.ContainsKey(fenytartomany))
            {
                fotoDb += felderitoDron.FenytartomanyokbanMennyiFotoKeszult[fenytartomany];
            }

            return(fotoDb);
        }
Exemple #3
0
 public void Fotoz(Fenytartomany ft)
 {
     if (EletbenVan)
     {
         if (ft != Fenytartomany.hokep)
         {
             throw new DronException(this, "Ez a drón csak hőkép készítését támogatja.");
         }
         else
         {
             FotokSzama++;
         }
     }
     else
     {
         throw new DronException(this, "A drón megsemmisült, nem tud már fotózni sehogyan se. [Lelőtték :( ]");
     }
 }
Exemple #4
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);
            }
        }