Esempio n. 1
0
        private void Show(SingleField field)
        {
            if (field.FieldValue == 0)
            {
                int x = field.X,
                    y = field.Y;

                ShowFields(x - 1, y + 1);
                ShowFields(x - 1, y);
                ShowFields(x - 1, y - 1);
                ShowFields(x, y + 1);
                ShowFields(x, y);
                ShowFields(x, y - 1);
                ShowFields(x + 1, y + 1);
                ShowFields(x + 1, y);
                ShowFields(x + 1, y - 1);
            }
        }
Esempio n. 2
0
        private void ArrangeTheBombs() // Places bombs
        {
            int positionX = 0;
            int positionY = 0;
            int i;

            for (i = 0; i < _boardSize[0]; i++)
            {
                for (int j = 0; j < _boardSize[1]; j++)
                {
                    _board[i, j] = new SingleField(i, j);
                    var field = _board[i, j];
                    field.FieldButton.Location = new Point(positionX, positionY);
                    _panel.Controls.Add(field.FieldButton);
                    positionX += 30;

                    field.ShowW += new EventHandler((o, args) => OpenField(o, args, field));  // ??
                }
                positionX  = 0;
                positionY += 30;
            }

            i = 0;
            while (i < NumberOfBomb)
            {
                var field = _board[_random.Next(_boardSize[0]), _random.Next(_boardSize[1])];

                if (field.HasABomb)
                {
                    continue;
                }
                field.HasABomb   = true;
                field.FieldValue = 9;
                field.Explosion += new EventHandler(Boom);
                i++;
            }
        }
Esempio n. 3
0
 private void OpenField(Object sender, EventArgs e, SingleField field)
 {
     Show(field);
 }