public event EventHandler AnimációVége; //mikor véget ér az animáció, azaz eltüntek a nem középső robbanások akkor a középső robbanás eltüntetése. /// <summary> /// Ha ütközik nem vasfal játékelemmel akkor azt letörli a JátékTérről. /// </summary> /// <param name="x">Robbanás x pozíciója a JátékTéren</param> /// <param name="y">Robbanás y pozíciója a JátékTéren</param> /// <param name="tér">Robbanást tartalmazó JátékTér</param> /// <param name="alak">Megjelenítendő kép erőforrásának elérési útja</param> /// <param name="angle">Megjelenítendő kép forgatásához szükséges szög</param> /// <param name="center">Középső robbanási elem-e</param> public Robbanás(int x, int y, JátékTér.JátékTér tér, string alak, int angle, bool center) : base(x, y, tér) { this.Alak = alak; this.BgAngle = angle; this.robbanNövel = true; this.robbanás = new DispatcherTimer(); this.robbanás.Interval = TimeSpan.FromMilliseconds(20); if (center) { this.robbanás.Tick += Csökken_Tick; } else { this.BgScaleY = 0.5; this.robbanás.Tick += Robbanás_Tick; this.robbanás.Start(); } List <Játékelem> seged = tér.MegadottHelyenLévők(x * this.tér.JátékelemMéret, y * this.tér.JátékelemMéret); foreach (Játékelem akt in seged) { akt.Ütközés(this); this.Ütközés(akt); } }
/// <summary> /// /// </summary> /// <param name="név"></param> /// <param name="x"></param> /// <param name="y"></param> /// <param name="tér"></param> /// <param name="mozgásiAlakok">[0][] : balra, [1][] : fel, [2][] : jobbra, [3][] : le</param> public Játékos(string név, int x, int y, JátékTér.JátékTér tér, string[,] mozgásiAlakok) : base(x, y, tér, mozgásiAlakok) { this.mozogAnimáció = new DispatcherTimer(); this.mozogAnimáció.Interval = TimeSpan.FromMilliseconds(90); this.mozogAnimáció.Tick += this.MozogAnimáció_Tick; this.AlapértelmezettAlak = mozgásiAlakok[3, 0]; this.Alak = this.AlapértelmezettAlak; //alapértelmezett alak beállítása this.név = név; this.bombaHatótáv = 2; this.bombaDbSzám = 1; this.LerakottBombaDb = 0; }
/// <summary> /// Bomba objektum, mely pár másodperc után Robbanás objektumokat helyez le a Játéktérre. /// </summary> /// <param name="x"></param> /// <param name="y"></param> /// <param name="tér"></param> /// <param name="gazdaJátékos">Bombát lerakó játékos</param> public Bomba(int x, int y, JátékTér.JátékTér tér, Játékos gazdaJátékos) : base(x, y, tér) { this.Alak = "bomba.png"; this.gazdaJátékos = gazdaJátékos; this.áthatolható = true; //alapesetben mikor leteszi a játékos még áthatolhat rajta, majd miután már nincs rajta áthatolhatatlanná válik this.játékelemIdő.Tick += HelyetVizsgál_Tick; this.játékelemIdő.Tick += KepAnimálás_Tick; this.detonációsIdő = 3; //ennyi másodperc után robban a bomba this.detonáció = new DispatcherTimer(); this.detonáció.Interval = TimeSpan.FromSeconds(1); //másodpercenként számoljon (vissza) this.detonáció.Tick += VisszaSzámlálás_Tick; this.detonáció.Start(); }
public Keret(int pályaMéretX, int pályaMéretY, int játékelemMéret, int játékIdő) { this.pályaMéretX = pályaMéretX; this.pályaMéretY = pályaMéretY; this.játékTimer = new DispatcherTimer(); this.játékTimer.Interval = TimeSpan.FromSeconds(1); this.játékTimer.Tick += JátékTimer_Tick; this.játékelemTimer = new DispatcherTimer(); this.játékelemTimer.Interval = TimeSpan.FromMilliseconds(100); this.játékelemTimer.Start(); R = new Random(); this.tér = new JátékTér.JátékTér(this.pályaMéretX, this.pályaMéretY, játékelemMéret, this.játékelemTimer); this.vm = new GameViewModel(this.pályaMéretX * játékelemMéret, this.pályaMéretY * játékelemMéret, játékelemMéret); this.vm.JátékIdő = játékIdő; vm.Elemek = this.tér.Elemek; PályaGenerálás(); }
public Szörny(int x, int y, JátékTér.JátékTér tér, string[,] mozgásiAlakok) : base(x, y, tér, mozgásiAlakok) { this.r = new Random(); this.lehetségesIrányok = new List <int>(); //fontos a feltöltési sorrend this.lehetségesIrányok.Add(0); this.lehetségesIrányok.Add(1); this.lehetségesIrányok.Add(2); this.lehetségesIrányok.Add(3); this.irányok = new List <int[]>(); //fontos a feltöltési sorrend this.irányok.Add(new int[] { -this.tér.JátékelemMéret / 10, 0 }); //azért mert függ a mozgási sebesség a játékelem mérettől, mivel, nagyobb elemméretnél többet kell menni ugyanolyan sebességhez this.irányok.Add(new int[] { 0, -this.tér.JátékelemMéret / 10 }); //azért mert függ a mozgási sebesség a játékelem mérettől, mivel, nagyobb elemméretnél többet kell menni ugyanolyan sebességhez this.irányok.Add(new int[] { this.tér.JátékelemMéret / 10, 0 }); //azért mert függ a mozgási sebesség a játékelem mérettől, mivel, nagyobb elemméretnél többet kell menni ugyanolyan sebességhez this.irányok.Add(new int[] { 0, this.tér.JátékelemMéret / 10 }); //azért mert függ a mozgási sebesség a játékelem mérettől, mivel, nagyobb elemméretnél többet kell menni ugyanolyan sebességhez this.irány = r.Next(4); this.mozgásiIrány = (JátékTér.Megy)lehetségesIrányok[irány]; this.BgScaleX = 0.9; //kisebb legyen a szörny this.BgScaleY = 0.9; //kisebb legyen a szörny this.Alak = mozgásiAlakok[3, 0]; //alapértelmezett alak beállítása this.játékelemIdő.Tick += this.MozogAnimáció_Tick; }
public KőFal(int x, int y, JátékTér.JátékTér tér) : base(x, y, tér) { this.Alak = "kofal.jpg"; }
public BombaDbNövelő(int x, int y, JátékTér.JátékTér tér) : base(x, y, tér) { this.animáltAlakok = new string[] { "pUpBDB1.jpg", "pUpBDB2.jpg" }; this.animáltAlakokDb = this.animáltAlakok.Length; this.Alak = animáltAlakok[0]; }
public VasFal(int x, int y, JátékTér.JátékTér tér) : base(x, y, tér) { this.Alak = "vasfal.png"; }
public MozgásiSebességNövelő(int x, int y, JátékTér.JátékTér tér) : base(x, y, tér) { this.animáltAlakok = new string[] { "pUpSeb1.jpg", "pUpSeb2.jpg" }; this.animáltAlakokDb = this.animáltAlakok.Length; this.Alak = animáltAlakok[0]; }