Ejemplo n.º 1
0
 private void PutFlag(Polja p, Button b)
 {
     if ((p.Vrsta == VrstaPolja.ZATVORENO_POLJE || p.Vrsta == VrstaPolja.MINA) && br_flagova < br_mina)
     {
         if (p.Vrsta != VrstaPolja.ZASTAVICA)
         {
             b.ImageIndex = 0;
             p.Vrsta      = VrstaPolja.ZASTAVICA;
             br_flagova++;
         }
     }
     else if (p.Vrsta == VrstaPolja.ZASTAVICA)
     {
         if (p.Mine)
         {
             p.Vrsta = VrstaPolja.MINA;
         }
         else
         {
             p.Vrsta = VrstaPolja.ZATVORENO_POLJE;
         }
         b.ImageIndex = -1;
         br_flagova--;
     }
 }
Ejemplo n.º 2
0
 public void PrintWin()
 {
     for (int l = 0; l < row; l++)
     {
         for (int g = 0; g < column; g++)
         {
             Polja p = (Polja)(matrix[l, g]).Tag;
             if (p.Vrsta == VrstaPolja.ZASTAVICA)
             {
                 if (p.Mine)
                 {
                     p.Vrsta = VrstaPolja.MINA;
                 }
                 else
                 {
                     p.Vrsta = VrstaPolja.ZATVORENO_POLJE;
                 }
                 (matrix[l, g]).ImageIndex = -1;
             }
             if (p.Vrsta == VrstaPolja.MINA)
             {
                 matrix[l, g].ImageIndex = 1;
             }
             if (p.Br_mina != 0)
             {
                 matrix[l, g].Text = p.Br_mina.ToString();
             }
             matrix[l, g].Enabled = false;
         }
     }
 }
Ejemplo n.º 3
0
        public void Matrica_MouseDown(object sender, MouseEventArgs e)
        {
            if (administration_mod == false)
            {
                Button b = sender as Button;
                if (b != null)
                {
                    Polja r = b.Tag as Polja;

                    if (e.Button == System.Windows.Forms.MouseButtons.Left)
                    {
                        if (r != null)
                        {
                            if (r == null)  // provera koju sam uveo jer sam imao nekih problema koje sada nemam
                            {
                                return;
                            }


                            if (r.Vrsta == VrstaPolja.MINA)
                            {
                                b.ImageIndex = 3;
                                GameOver(r, b);
                                MessageBox.Show("U step on mine!", "Game Over", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                            else if (r.Vrsta == VrstaPolja.ZASTAVICA)
                            {
                                return;
                            }
                            else if (r.Vrsta == VrstaPolja.ZATVORENO_POLJE)
                            {
                                if (r.Br_mina == 0)
                                {
                                    b.Enabled = false;
                                    r.Vrsta   = VrstaPolja.OTVORENO_POLJE;
                                    Open(r, b);  //rekurzija
                                }
                                else
                                {
                                    b.Text    = r.Br_mina.ToString();
                                    b.Enabled = false;
                                }
                            }
                        }
                    }
                    else if (e.Button == System.Windows.Forms.MouseButtons.Right)
                    {
                        PutFlag(r, b);
                    }
                }
            }
        }
Ejemplo n.º 4
0
 public void Print()
 {
     //Da mi istampa sva polja
     for (int l = 0; l < row; l++)
     {
         for (int g = 0; g < column; g++)
         {
             Polja p = (Polja)(matrix[l, g]).Tag;
             if (p.Vrsta == VrstaPolja.MINA)
             {
                 matrix[l, g].ImageIndex = 1;
             }
             if (p.Br_mina != 0)
             {
                 matrix[l, g].Text = p.Br_mina.ToString();
             }
         }
     }
 }
Ejemplo n.º 5
0
 public void Matrica_Click(object sender, MouseEventArgs e)
 {
     if (administration_mod)
     {
         Button b = sender as Button;
         if (b != null)
         {
             Polja p = (Polja)b.Tag;
             if (p.Vrsta != VrstaPolja.OTVORENO_POLJE)
             {
                 if (p.Vrsta != VrstaPolja.MINA)
                 {
                     b.ImageIndex = 1;
                     p.Vrsta      = VrstaPolja.MINA;
                     br_mina++;
                 }
             }
         }
     }
 }
Ejemplo n.º 6
0
        private void GenerateMines(int x, int y)
        {
            Random r = new Random();
            int    j, k;

            for (int i = 0; i < br_mina; i++)
            {
                j = r.Next(0, x);
                k = r.Next(0, y);
                Polja polje = (Polja)(matrix[j, k].Tag);
                if (polje.Vrsta == VrstaPolja.MINA)
                {
                    i--;
                }
                else
                {
                    ((Polja)(matrix[j, k].Tag)).Vrsta = VrstaPolja.MINA;
                    ((Polja)(matrix[j, k].Tag)).Mine  = true;
                }
            }
        }
Ejemplo n.º 7
0
 private void Open(Polja r, Button b)
 {  //rekurzija
     b.Enabled = false;
     if (r.Vrsta == VrstaPolja.MINA)
     {
         b.Enabled = true;
         return;
     }
     if (r.Br_mina > 0)
     {
         r.Vrsta = VrstaPolja.OTVORENO_POLJE;
         b.Text  = r.Br_mina.ToString();
         ((Polja)(b.Tag)).Vrsta = VrstaPolja.ZATVORENO_POLJE;
         b.Enabled = false;
         return;
     }
     else
     {
         for (int i = (r.Row - 1); i < (r.Row + 2); i++)
         {
             if (i >= 0 && i < row)
             {
                 for (int j = (r.Column - 1); j < (r.Column + 2); j++)
                 {
                     if (j >= 0 && j < column)
                     {
                         if (matrix[i, j].Enabled && (
                                 r.Row != i || r.Column != j))
                         {
                             r.Vrsta = VrstaPolja.OTVORENO_POLJE;
                             Polja  pom = ((Polja)(matrix[i, j].Tag));
                             Button b1  = matrix[i, j];
                             Open(pom, b1);
                         }
                     }
                 }
             }
         }
     }
 }
Ejemplo n.º 8
0
        public void Save(StreamWriter stream)
        {
            int br = 0;

            stream.WriteLine(br_mina);
            for (int i = 0; i < row; i++)
            {
                for (int j = 0; j < column; j++)
                {
                    Polja p = ((Polja)((matrix[i, j]).Tag));
                    if (p.Vrsta == VrstaPolja.MINA)
                    {
                        stream.WriteLine(p.Row);
                        stream.WriteLine(p.Column);
                        br++;
                    }
                    if (br == br_mina)
                    {
                        return;
                    }
                }
            }
        }
Ejemplo n.º 9
0
 private void GameOver(Polja n, Button b)
 {
     timer.Stop();
     //Da mi istampa sva polja i onemoguci igraca da igra
     for (int l = 0; l < row; l++)
     {
         for (int g = 0; g < column; g++)
         {
             if (l != n.Row && g != n.Column)
             {
                 Polja p = (Polja)(matrix[l, g]).Tag;
                 if (p.Vrsta == VrstaPolja.ZASTAVICA)
                 {
                     if (p.Mine)
                     {
                         p.Vrsta = VrstaPolja.MINA;
                     }
                     else
                     {
                         p.Vrsta = VrstaPolja.ZATVORENO_POLJE;
                     }
                     (matrix[l, g]).ImageIndex = -1;
                 }
                 if (p.Vrsta == VrstaPolja.MINA)
                 {
                     matrix[l, g].ImageIndex = 1;
                 }
                 if (p.Br_mina != 0)
                 {
                     matrix[l, g].Text = p.Br_mina.ToString();
                 }
             }
             (matrix[l, g]).Enabled = false;
         }
     }
 }