Ejemplo n.º 1
0
        //////////////////////////////////////////Reveal Buttons
        ////////////////////////////////////////////////////////////////////////////////////////



        //////////////////////////////////////////////////////////////////////////////////////
        /////////////////////////////////////Button right click
        private void button_Right_Click(object sender, MouseEventArgs e)
        {
            int flagCount;
            MineSweeperButton btn = (MineSweeperButton)sender;

            if (e.Button == MouseButtons.Right)
            {
                if (btn.Flagged == false)
                {
                    flagCount = int.Parse(textBoxFlags.Text);
                    if (flagCount > 0)
                    {
                        btn.Flagged         = true;
                        btn.BackgroundImage = System.Drawing.Image.FromFile("Minesweeper_flag3.png");
                        flagCount--;
                        textBoxFlags.Text = Convert.ToString(flagCount);
                        CheckFlagWin();
                    }
                }
                else
                {
                    btn.Flagged         = false;
                    btn.BackgroundImage = null;
                    flagCount           = int.Parse(textBoxFlags.Text);
                    flagCount++;
                    textBoxFlags.Text = Convert.ToString(flagCount);
                }
            }
        }
Ejemplo n.º 2
0
        //////////////////////////////////Clear Form
        ////////////////////////////////////////////////////////////////////////////////////////



        ////////////////////////////////////////////////////////////////////////////////////////
        //////////////////////////////////Fill form with buttons
        private void SetUpGrid()
        {
            btnArray = new MineSweeperButton[gridSize, gridSize];
            int btnHeight = 20,
                btnWidth  = 20;

            for (int i = 0; i < gridSize; i++)
            {
                for (int j = 0; j < gridSize; j++)
                {
                    MineSweeperButton newBtn = new MineSweeperButton();
                    btnArray[i, j]          = newBtn;
                    btnArray[i, j].Height   = btnHeight;
                    btnArray[i, j].Width    = btnWidth;
                    btnArray[i, j].Location = new Point(20 * i + 30, 20 * j + 30);
                    this.Controls.Add(btnArray[i, j]);
                    newBtn.NeighborNumber = 0;
                    newBtn.Mine           = false;
                    newBtn.Revealed       = false;
                    newBtn.Flagged        = false;
                    newBtn.Y          = i;
                    newBtn.X          = j;
                    newBtn.Click     += button_Click;
                    newBtn.MouseDown += button_Right_Click;
                }
            }
        }
Ejemplo n.º 3
0
        ////////////////////////////////////Fill Numbers
        /////////////////////////////////////////////////////////////////////////////////////



        ///////////////////////////////////////////////////////////////////////////////////////
        /////////////////////////////////////Button left click
        private void button_Click(object sender, EventArgs e)
        {
            MineSweeperButton btn = sender as MineSweeperButton;

            if (btn.Revealed == false && btn.Flagged == false)
            {
                if (btn.Mine == true)
                {
                    gameOver                = true;
                    labelGameOver.Text      = "You Lost!";
                    labelGameOver.ForeColor = Color.Red;
                    labelGameOver.Visible   = true;
                    for (int i = 0; i < gridSize; i++)
                    {
                        for (int j = 0; j < gridSize; j++)
                        {
                            btnArray[i, j].Enabled         = false;
                            btnArray[i, j].BackgroundImage = null;
                            if (btnArray[i, j].Mine == true)
                            {
                                btnArray[i, j].Text      = "*";
                                btnArray[i, j].BackColor = Color.Red;
                            }
                            else if (btnArray[i, j].NeighborNumber == 0 && btnArray[i, j].Mine == false)
                            {
                                continue;
                            }
                            else
                            {
                                btnArray[i, j].Text = Convert.ToString(btnArray[i, j].NeighborNumber);
                            }
                        }
                    }
                }
                else if (btn.NeighborNumber != 0)
                {
                    btn.Enabled  = false;
                    btn.Revealed = true;
                    btn.Text     = Convert.ToString(btn.NeighborNumber);
                    CheckWin();
                }
                else
                {
                    int y = btn.Y;
                    int x = btn.X;
                    RevealButtons(y, x);
                    CheckWin();
                }
            }
        }