コード例 #1
0
ファイル: Robbanás.cs プロジェクト: tothcs1105/BombermanWPF
        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);
            }
        }
コード例 #2
0
 /// <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;
 }
コード例 #3
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();
 }
コード例 #4
0
ファイル: Keret.cs プロジェクト: tothcs1105/BombermanWPF
 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();
 }
コード例 #5
0
 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;
 }
コード例 #6
0
 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";
 }
コード例 #7
0
 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];
 }
コード例 #8
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";
 }
コード例 #9
0
 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];
 }