예제 #1
0
 public void ZeroCheck()
 {
     if (!Board[X, Y].IsBomb)
     {
         int c = MineBoard.CountMines(X, Y);
         UnClick = true;
         Board[X, Y].BackgroundImage = Properties.Resources.NumberSquareBack;
         if (c == 0)
         {
             CheckSurround(X, Y);
         }
         else
         {
             NumLabel(c);
         }
     }
 }
예제 #2
0
 private void Box_Click(object sender, System.Windows.Forms.MouseEventArgs e)
 {
     try
     {
         // Console.WriteLine(UnClick)
         // Console.WriteLine()
         if (!UnClick)
         {
             if (e.Button == System.Windows.Forms.MouseButtons.Right && !UnClick && (!Done || MineBoard.clickCount() >= (TotalHeight * TotalWidth) - 1))
             {
                 Flagged = !Flagged;
             }
             if (e.Button == System.Windows.Forms.MouseButtons.Left && (!Done || MineBoard.clickCount() >= (TotalHeight * TotalWidth) - 1))
             {
                 UnClick = true;
                 if (IsBomb & !Flagged)
                 {
                     FaceChange?.Invoke(FaceType.Dead, new EventArgs());
                     BackColor = Color.Red;
                 }
                 else
                 {
                     int c = MineBoard.CountMines(X - 0, Y - 0);
                     // Console.WriteLine(X & "," & Y)
                     if (c == 0 && !Flagged)
                     {
                         CheckSurround(X, Y);
                     }
                     else if ((!Done) || Flagged || MineBoard.clickCount() >= (TotalHeight * TotalWidth) - 1)
                     {
                         //lbl = new Label() { ForeColor = numColours[c - 1], Text = c.ToString(), TextAlign = ContentAlignment.MiddleCenter, Font = new System.Drawing.Font("Arial", 12), Location = new Point(2, -1), BackColor = Color.Transparent, Size = new Size(12, 15), Padding = new System.Windows.Forms.Padding(0), Margin = new System.Windows.Forms.Padding(0) };
                         NumLabel(c);//this.Controls.Add(lbl);
                     }
                 }
             }
             if (!Done)
             {
                 MouseClick?.Invoke(this, e);
             }
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.ToString());
     }
 }