Example #1
0
 void KincsFelvetelTortent(Kincs kincs, Jatekos jatekos)
 {
     megtalaltKincsek++;
     jatekVege = jatekVege || megtalaltKincsek == KINCSEK_SZAMA;
 }
Example #2
0
 public void Futtatas()
 {
     JatekElem[] elemek = new JatekElem[1 + ELLENFELEK_SZAMA + KINCSEK_SZAMA];
     Jatekos jatekos = new Jatekos("Bela", -1, -1, ter);
     elemek[0] = jatekos;
     for (int i = 1; i < ELLENFELEK_SZAMA + 1; i++) {
         if (R.Next(1, 101) > 50)
             elemek[i] = new GonoszGepiJatekos(String.Format("Gepi{0}", i), -1, -1, ter);
         else
             elemek[i] = new GepiJatekos(String.Format("Gepi{0}", i), -1, -1, ter);
         generator.Felvetel(elemek[i] as GepiJatekos);
     }
     for (int i = 4; i < elemek.Length; i++) {
         elemek[i] = new Kincs(-1, -1, ter);
         ter.Felvesz(elemek[i]);
         (elemek[i] as Kincs).KincsFelvetel += KincsFelvetelTortent;
     }
     BacktrackElhelyezo bte = new BacktrackElhelyezo(ter);
     bool siker = false;
     while (!siker) {
         try {
             bte.Elhelyezes(elemek);
             siker = true;
         }
         catch (BackTrackNincsMegoldasException) {
             siker = false;
             int tx = R.Next(2, PALYA_MERET_X - 2);
             int ty = R.Next(2, PALYA_MERET_Y - 2);
             while (!(ter.MegadottHelyenLevok(tx, ty)[0] is Fal)) {
                 tx = R.Next(2, PALYA_MERET_X - 2);
                 ty = R.Next(2, PALYA_MERET_Y - 2);
             }
             Fal tor = ter.MegadottHelyenLevok(tx, ty)[0] as Fal;
         }
     }
     for (int i = 0; i <= ELLENFELEK_SZAMA; i++)
         (elemek[i] as Jatekos).RogzitesInditas(generator);
     jatekos.JatekosValtozas += JatekosValtozasTortent;
     KonzolosMegjelenito km = new KonzolosMegjelenito(0, 0, ter);
     KonzolosMegjelenito plM = new KonzolosMegjelenito(25, 0, jatekos);
     KonzolosEredmenyAblak kea = new KonzolosEredmenyAblak(0, 12, 5);
     kea.JatekosFeliratkozas(jatekos);
     generator.Felvetel(km);
     generator.Felvetel(plM);
     do {
         ConsoleKeyInfo key = Console.ReadKey(true);
         try {
             if (key.Key == ConsoleKey.LeftArrow)
                 jatekos.Megy(-1, 0);
             if (key.Key == ConsoleKey.RightArrow)
                 jatekos.Megy(1, 0);
             if (key.Key == ConsoleKey.UpArrow)
                 jatekos.Megy(0, -1);
             if (key.Key == ConsoleKey.DownArrow)
                 jatekos.Megy(0, 1);
         }
         catch (MozgasHelyHianyMiattNemSikerultKivetel k) {
             Console.Beep(500 + k.Elemek.Length * 100, 10);
         }
         jatekVege = jatekVege || key.Key == ConsoleKey.Escape;
     } while (!jatekVege);
     for (int i = 1; i <= ELLENFELEK_SZAMA; i++)
         generator.Levetel((elemek[i] as GepiJatekos));
     for (int i = 0; i <= ELLENFELEK_SZAMA; i++)
         (elemek[i] as Jatekos).VisszajatszasInditas();
 }
Example #3
0
 private void Kincs_KincsFelvetel(Kincs felvettKincs, Jatekos felvette)
 {
     throw new NotImplementedException();
 }