public override void Utkozes(JatekElem jatekElem) { base.Utkozes(jatekElem); Jatekos jatekos = jatekElem as Jatekos; if (this.Aktiv && jatekos != null) { jatekos.Serul(10); } }
public override void Utkozes(JatekElem jatekElem) { Jatekos jatekos = jatekElem as Jatekos; if (jatekos != null) { KincsFelvetel?.Invoke(this, jatekos); jatekos.PontotSzerez(50); ter.Torles(this); } }
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(); }
void KincsFelvetelTortent(Kincs kincs, Jatekos jatekos) { megtalaltKincsek++; jatekVege = jatekVege || megtalaltKincsek == KINCSEK_SZAMA; }
void JatekosValtozasTortent(Jatekos jatekos, int ujpont, int ujelet) { jatekVege = jatekVege || ujelet == 0; }
void JatekosValtozasTortent(Jatekos jatekos, int ujpont, int ujelet) { SzalbiztosKonzol.KiirasXY(pozX, pozY + sor, string.Format("játékos neve: {0}, pontszáma: {1}, életereje: {2} ", jatekos.Nev, ujpont, ujelet)); sor = sor + 1 >= maxSorSzam ? 0 : sor + 1; }
public void JatekosFeliratkozas(Jatekos jatekos) { jatekos.JatekosValtozas += JatekosValtozasTortent; }
private void Kincs_KincsFelvetel(Kincs felvettKincs, Jatekos felvette) { throw new NotImplementedException(); }