示例#1
0
 public int stawianie_bomby(int[] tab,Player Gracz1, Player Gracz2)
 {
     int u = tab[0];
     int j = tab[1];
     if (u < 14 && j < 14)
     {
         if ((tab_mapa[j, u] < Gracz1.idBomb || tab_mapa[j, u] > (Gracz1.idBomb + Gracz1.timerBomby)))
         {
             if ((tab_mapa[j, u] < Gracz2.idBomb || tab_mapa[j, u] > (Gracz2.idBomb + Gracz2.timerBomby)))
             {
                 if (tab_mapa[j, u] != (int)brick.Unbreakable && tab_mapa[j, u] !=(int)brick.Breakable )
                 {
                     tab_mapa[j, u] = Gracz1.idBomb;
                     return 1;
                 }
             }
         }          
     }
     return 0;
 }
示例#2
0
        public void Grafika_Poruszanie2_Player2(Player Gracz2, bool[] tab, int zamiana, SpriteBatch spriteBatch)
        {
            if ((tab[3] == false && tab[2] == false && tab[0] == false) && tab[1] == false || (tab[1] == true && tab[2] == true) || (tab[0] == true && tab[1] == true))
            {
                spriteBatch.Draw(Man2_stoi, Gracz2.Position, Color.White);
            }
            else
            {
                if (tab[3] == true)
                {
                    if (zamiana == 0 || zamiana == 2)
                    {
                        spriteBatch.Draw(Man2_krok_prawo, Gracz2.Position, Color.White);
                    }
                    if (zamiana == 1 || zamiana == 3)
                    {
                        spriteBatch.Draw(Man2_prawo, Gracz2.Position, Color.White);
                    }
                }
                else
                {
                    if (tab[2] == true)
                    {
                        if (zamiana == 0 || zamiana == 2)
                        {
                            spriteBatch.Draw(Man2_lewo, Gracz2.Position, Color.White);
                        }

                        if (zamiana == 1 || zamiana == 3)
                        {
                            spriteBatch.Draw(Man2_krok_lewo, Gracz2.Position, Color.White);
                        }
                        if (zamiana == 3)
                        {
                        }
                    }
                    if (tab[0] == true)
                    {
                        if (zamiana == 0 || zamiana == 2)
                        {
                            spriteBatch.Draw(Man2_gora, Gracz2.Position, Color.White);
                        }
                        if (zamiana == 1)
                        {
                            spriteBatch.Draw(Man2_gora_krok, Gracz2.Position, Color.White);
                        }
                        if (zamiana == 3)
                        {
                            spriteBatch.Draw(Man2_gora_krok2, Gracz2.Position, Color.White);
                        }
                    }
                    if (tab[0] == true && Gracz1.Position.X == 275)
                    {
                        if (zamiana == 0 || zamiana == 2)
                        {
                            spriteBatch.Draw(Man2_gora, Gracz2.Position, Color.White);
                        }
                        if (zamiana == 1)
                        {
                            spriteBatch.Draw(Man2_gora_krok, Gracz2.Position, Color.White);
                        }
                        if (zamiana == 3)
                        {
                            spriteBatch.Draw(Man2_gora_krok2, Gracz2.Position, Color.White);
                        }
                    }
                    else
                    {
                        if (tab[1] == true /*&& Gracz1.Position.Y == 50 + 75*/)
                        {
                            if (Gracz1.zyje == true)
                            {
                                if (zamiana == 0 || zamiana == 2)
                                {
                                    spriteBatch.Draw(Man2_stoi, Gracz2.Position, Color.White);
                                }
                                if (zamiana == 1)
                                {
                                    spriteBatch.Draw(Man2_stoi_krok, Gracz2.Position, Color.White);
                                }
                                if (zamiana == 3)
                                {
                                    spriteBatch.Draw(Man2_stoi_krok2, Gracz2.Position, Color.White);
                                }
                            }
                            else
                            {
                                spriteBatch.Draw(Man_Dead, Gracz2.Position, Color.White);
                            }
                        }
                    }
                }

            }
        }
示例#3
0
 public void PrzypiszReferencje(GraphicsDeviceManager graphics, ContentManager Content, Mapa Mapa1,Menu Menu1,Player Gracz1,Player Gracz2,Kontroler Klawiatura1,Game1.Stan GameState, KeyboardState keyboardState)
 {
     this.graphics = graphics;
     this.Content = Content;
     this.Mapa1 = Mapa1;
     this.Menu1 = Menu1;
     this.Gracz1 = Gracz1;
     this.Gracz2 = Gracz2;
     this.Klawiatura1 = Klawiatura1;
     this.GameState = GameState;
     this.keyboardState = keyboardState;
 }
示例#4
0
 public void reset_logiki(Player Gracz1, Player Gracz2, Mapa Mapa1 )
 {
     Mapa1.Stawianie_klockow();
     Gracz1.postawionychBomb = 0;
     Gracz1.maxBomb = 2;
     Gracz1.szybkość = 2;
     Gracz1.moc = 3;
     Gracz1.kara = false;
     Gracz1.Position = new Vector2(275, 55);
     Gracz1.zyje = true;
     Gracz2.postawionychBomb = 0;
     Gracz2.Position = new Vector2(900, 630);
     Gracz2.zyje = true;
     Gracz2.kara = false;
     Gracz2.maxBomb = 2;
     Gracz2.szybkość = 2;
     Gracz2.moc = 3;
 }
示例#5
0
 public void Sprawdz_Bonus(Player Gracz1,Player Gracz2,int Licznik_Bonusu)
 {          
     int u = (int)((Gracz1.Position.Y - 20) / 50);
     int j = (int)((Gracz1.Position.X - 250) / 50);   
     if (tab_mapa[j,u] == (int)bonus.Bomb)
     {
         if (Gracz1.maxBomb + 1 <= 13)
         {
             Gracz1.maxBomb++;
         }
         tab_mapa[j, u] = 0;
         if(Game1.Sound==true)
        Bonus.Play();
     }
     if (tab_mapa[j, u] == (int)bonus.Power)
     {
         if (Gracz1.moc + 1 <= 13)
         {
             Gracz1.moc++;
         }
         tab_mapa[j, u] = 0;
         if(Game1.Sound==true)
        Bonus.Play();
     }
     if (tab_mapa[j, u] == (int)bonus.PunishBP)
     {
         if (Gracz1.maxBomb - 1 > 0)
         {
             Gracz1.maxBomb--;
         }
         if (Gracz1.moc - 1 > 0)
         {
             Gracz1.moc--;
         }
          tab_mapa[j, u] = 0;
         if(Game1.Sound==true)
          Czacha.Play();
     }
     if (tab_mapa[j, u] == (int)bonus.PunishSides)
     {
        tab_mapa[j, u] = 0;
        Gracz1.licznik_kary = 0;
        Gracz2.kara = true;
         if(Game1.Sound==true)
        Czacha.Play();
     }
     if (Gracz1.licznik_kary >= 10)
     {
         Gracz1.licznik_kary = 0;
         Gracz1.kara = false;   
     }
     if (Licznik_Bonusu % 59 == 0 && Gracz1.kara == true)
     {
         Gracz1.licznik_kary++;
     }
 }
示例#6
0
 public void Smierc_delay(Player Gracz1)
 {
     for (int l = 0; l < 11; l++)
     {
         for (int i = 0; i < 13; i++)
         {                    
              if ((Gracz1.Position.X > 230 + (i * 50)) && (Gracz1.Position.X < 315 + (i * 50)) && (Gracz1.Position.Y > 12 + (l * 50)) && (Gracz1.Position.Y < 77 + (l * 50)))
                  if (tab_mapa[i, l] == (int)fire.Right || tab_mapa[i, l] == (int)fire.Left || tab_mapa[i, l] == (int)fire.Down || tab_mapa[i, l] == (int)fire.Up || tab_mapa[i, l] == (int)fire.RightBonusBomb || tab_mapa[i, l] == (int)fire.RightBonusPower || tab_mapa[i, l] == (int)fire.LeftBonusBomb || tab_mapa[i, l] == (int)fire.LeftBonusPower || tab_mapa[i, l] == (int)fire.DownBonusBomb || tab_mapa[i, l] == (int)fire.DownBonusPower || tab_mapa[i, l] == (int)fire.UpBonusBomb || tab_mapa[i, l] == (int)fire.UpBonusPower || tab_mapa[i, l] == (int)fire.Middle || tab_mapa[i, l] == (int)fire.Poziom || tab_mapa[i, l] == (int)fire.Pion || tab_mapa[i, l] == (int)fire.LeftPunishPB || tab_mapa[i, l] == (int)fire.LeftPunishSides || tab_mapa[i, l] == (int)fire.RightPunishPB || tab_mapa[i, l] == (int)fire.RightPunishSides || tab_mapa[i, l] == (int)fire.UpPunishPB || tab_mapa[i, l] == (int)fire.UpPunishSides || tab_mapa[i, l] == (int)fire.DownPunishPB || tab_mapa[i, l] == (int)fire.DownPunishSides)
                  {
                        Gracz1.zyje = false;
                      if(Game1.Sound==true)
                        lost.Play();
                  }
         }
     }
 }
示例#7
0
 public void Logika_Smierc(int i, int l, Player Gracz1)
 {
     if ((Gracz1.Position.X > 230 + (i * 50)) && (Gracz1.Position.X < 315 + (i * 50)) && (Gracz1.Position.Y > 12 + (l * 50)) && (Gracz1.Position.Y < 77 + (l * 50)))
     {
         Gracz1.zyje = false;
         if(Game1.Sound==true)
         lost.Play();
     }
 }
示例#8
0
        public void Logika_Bomba_Wybuchv2(int i, int l, Player Gracz1, Player Gracz2)
        {
            //-------------------------------------------------------------------------------------Opis : ----------------------------------------------------------------------------------------------------
            // Funkcja sprawdzająca odpowiednie pola podczas wybuchu. Wstawia ona również bonusy w miejsce zniszczonych klocków z danym prawdopodobienstwem.
            int Losowanie;
            Random rnd = new Random();
            Logika_Smierc(i, l, Gracz1);
            Logika_Smierc(i, l, Gracz2);
            for (int k = 1; k <= Gracz1.moc; k++)
            {
                if (i + k <= 12)
                {
                    Logika_Smierc(i + k, l, Gracz1);
                    Logika_Smierc(i + k, l, Gracz2);
                    if (tab_mapa[i + k, l] == (int)brick.Breakable)
                    {
                        Losowanie = rnd.Next(1, 20);
                        if (Losowanie == 3 || Losowanie == 9)
                        {
                            tab_mapa[i + k, l] = (int)fire.RightBonusBomb;
                        }
                        if (Losowanie == 4 || Losowanie == 10)
                        {
                            tab_mapa[i + k, l] = (int)fire.RightBonusPower;
                        }
                        if (Losowanie == 5)
                        {
                            tab_mapa[i + k, l] = (int)fire.RightPunishPB;
                        }
                        if (Losowanie == 6)
                        {
                            tab_mapa[i + k, l] = (int)fire.RightPunishSides;
                        }
                        if (Losowanie != 3 && Losowanie != 4 && Losowanie != 5 && Losowanie != 6 && Losowanie != 9 && Losowanie != 10)
                        {
                            tab_mapa[i + k, l] = (int)fire.Right;
                        }
                        break;
                    }
                    if (tab_mapa[i + k, l] == (int)brick.Unbreakable)
                    {
                        break;
                    }
                    if (tab_mapa[i + k, l] >= Gracz1.idBomb && tab_mapa[i + k, l] <= (Gracz1.idBomb + Gracz1.timerBomby))
                    {
                        tab_mapa[i + k, l] = (int)fire.Middle;
                        Logika_Bomba_Wybuchv2(i + k, l, Gracz1, Gracz2);
                        break;
                    }
                    if (tab_mapa[i + k, l] >= Gracz2.idBomb && tab_mapa[i + k, l] <= (Gracz2.idBomb + Gracz2.timerBomby))
                    {
                        tab_mapa[i + k, l] = (int)fire.Middle;
                        Logika_Bomba_Wybuchv2(i + k, l, Gracz2, Gracz1);
                        break;
                    }
                    if (tab_mapa[i + k, l] != (int)fire.Middle)
                    {
                        tab_mapa[i + k, l] = (int)fire.Poziom;
                    }

                }
            }
            for (int k = 1; k <= Gracz1.moc; k++)
            {
                if (i - k >= 0)
                {
                    Logika_Smierc(i - k, l, Gracz1);
                    Logika_Smierc(i -k, l, Gracz2);

                    if (tab_mapa[i - k, l] == (int)brick.Breakable)
                    {
                        Losowanie = rnd.Next(1, 20);
                        if (Losowanie == 3 || Losowanie == 9)
                        {
                            tab_mapa[i - k, l] = (int)fire.LeftBonusBomb;
                        }
                        if (Losowanie == 4 || Losowanie == 10)
                        {
                            tab_mapa[i - k, l] = (int)fire.LeftBonusPower;
                        }
                        if (Losowanie == 5)
                        {
                            tab_mapa[i - k, l] = (int)fire.LeftPunishPB;
                        }
                        if (Losowanie == 6)
                        {
                            tab_mapa[i - k, l] = (int)fire.LeftBonusBomb;
                        }
                        if (Losowanie != 3 && Losowanie != 4 && Losowanie != 5 && Losowanie != 6 && Losowanie != 9 && Losowanie != 10)
                        {
                            tab_mapa[i - k, l] = (int)fire.Left;
                        }
                        break;
                    }
                    if (tab_mapa[i - k, l] == (int)brick.Unbreakable)
                    {
                        break;
                    }
                    if (tab_mapa[i - k, l] >= Gracz1.idBomb && tab_mapa[i - k, l] <= (Gracz1.idBomb + Gracz1.timerBomby))
                    {
                        tab_mapa[i - k, l] = (int)fire.Middle;
                        Logika_Bomba_Wybuchv2(i - k, l, Gracz1, Gracz2);
                        break;
                    }
                    if (tab_mapa[i - k, l] >= Gracz2.idBomb && tab_mapa[i - k, l] <= (Gracz2.idBomb + Gracz2.timerBomby))
                    {
                        tab_mapa[i - k, l] = (int)fire.Middle;
                        Logika_Bomba_Wybuchv2(i - k, l, Gracz2, Gracz1);
                        break;
                    }
                    if (tab_mapa[i - k, l] != (int)fire.Middle)
                    {
                        tab_mapa[i - k, l] = (int)fire.Poziom;
                    }
                }
            }
            for (int k = 1; k <= Gracz1.moc; k++)
            {
                if (l + k <= 10)
                {
                    Logika_Smierc(i, l + k, Gracz1);
                    Logika_Smierc(i, l+k, Gracz2);

                    if (tab_mapa[i, l + k] == (int)brick.Breakable)
                    {
                        Losowanie = rnd.Next(1, 10);
                        if (Losowanie == 3 || Losowanie == 9)
                        {
                            tab_mapa[i, l + k] = (int)fire.DownBonusBomb;
                        }
                        if (Losowanie == 4 || Losowanie == 10)
                        {
                            tab_mapa[i, l + k] = (int)fire.DownBonusPower;
                        }
                        if (Losowanie == 5)
                        {
                            tab_mapa[i, l + k] = (int)fire.DownPunishPB;
                        }
                        if (Losowanie == 6)
                        {
                            tab_mapa[i, l + k] = (int)fire.DownPunishSides;
                        }
                        if (Losowanie != 3 && Losowanie != 4 && Losowanie != 5 && Losowanie != 6 && Losowanie != 9 && Losowanie != 10)
                        {
                            tab_mapa[i, l + k] = (int)fire.Down;
                        }
                        break;
                    }
                    if (tab_mapa[i, l + k] == (int)brick.Unbreakable)
                    {
                        break;
                    }
                    if (tab_mapa[i, l + k] >= Gracz1.idBomb && tab_mapa[i, l + k] <= (Gracz1.idBomb + Gracz1.timerBomby))
                    {
                        tab_mapa[i, l + k] = (int)fire.Middle;
                        Logika_Bomba_Wybuchv2(i, l + k, Gracz1, Gracz2);
                        break;
                    }
                    if (tab_mapa[i, l + k] >= Gracz2.idBomb && tab_mapa[i, l + k] <= (Gracz2.idBomb + Gracz2.timerBomby))
                    {
                        tab_mapa[i, l + k] = (int)fire.Middle;
                        Logika_Bomba_Wybuchv2(i, l + k, Gracz2, Gracz1);
                        break;
                    }
                    if (tab_mapa[i, l + k] != (int)fire.Middle)
                    {
                        tab_mapa[i, l + k] = (int)fire.Pion;
                    }
                }
            }
            for (int k = 1; k <= Gracz1.moc; k++)
            {
                if (l - k >= 0)
                {
                    Logika_Smierc(i, l - k, Gracz1);
                    Logika_Smierc(i, l-k, Gracz2);
                    if (tab_mapa[i, l - k] == (int)brick.Breakable)
                    {                                       //BONUSY POJAWIANIE SIE ------------------------------------------------------
                        Losowanie = rnd.Next(1, 10);
                        if (Losowanie == 3 || Losowanie == 9)
                        {
                            tab_mapa[i, l - k] = (int)fire.UpBonusBomb;
                        }
                        if (Losowanie == 4 || Losowanie == 10)
                        {
                            tab_mapa[i, l - k] = (int)fire.UpBonusPower;
                        }
                        if (Losowanie == 5)
                        {
                            tab_mapa[i, l - k] = (int)fire.DownPunishPB;
                        }
                        if (Losowanie == 6)
                        {
                            tab_mapa[i, l - k] = (int)fire.DownPunishSides;
                        }
                        if (Losowanie != 3 && Losowanie != 4 && Losowanie != 5 && Losowanie != 6 && Losowanie != 9 && Losowanie != 10)
                        {
                            tab_mapa[i, l - k] = (int)fire.Down;
                        }
                        break;
                    }
                    if (tab_mapa[i, l - k] == (int)brick.Unbreakable)
                    {
                        break;
                    }
                    if (tab_mapa[i, l - k] >= Gracz1.idBomb && tab_mapa[i, l - k] <= (Gracz1.idBomb + Gracz1.timerBomby))
                    {
                        tab_mapa[i, l - k] = (int)fire.Middle;
                        Logika_Bomba_Wybuchv2(i, l - k, Gracz1, Gracz2);
                        break;
                    }
                    if (tab_mapa[i, l - k] >= Gracz2.idBomb && tab_mapa[i, l - k] <= (Gracz2.idBomb + Gracz2.timerBomby))
                    {
                        tab_mapa[i, l - k] = (int)fire.Middle;
                        Logika_Bomba_Wybuchv2(i, l - k, Gracz2, Gracz1);
                        break;
                    }
                    if (tab_mapa[i, l - k] != (int)fire.Middle)
                    {
                        tab_mapa[i, l - k] = (int)fire.Pion;
                    }
                }
            }
            Gracz1.postawionychBomb--;
            if(Game1.Sound==true)
            wybuch.Play();
        }       
示例#9
0
        public void Logika_bomba(int licznik_klatek,Player Gracz1,Player Gracz2)
        {        
            for (int i = 0; i < 13; i++)
            {
                for (int l = 0; l < 11; l++)
                {

                    if (licznik_klatek % 30 == 0)
                    {
                        if (tab_mapa[i, l] >= Gracz1.idBomb && tab_mapa[i, l] < (Gracz1.idBomb+Gracz1.timerBomby))
                        {
                            tab_mapa[i, l] += 1;
                        }

                        if (tab_mapa[i, l] == (Gracz1.idBomb + Gracz1.timerBomby))
                        {

                            tab_mapa[i, l] = (int)fire.Middle;
                            Logika_Bomba_Wybuchv2(i, l,Gracz1,Gracz2);

                        }
                    }
                }
            }
            
        }