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); } }
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++; } }
private void OpenField(Object sender, EventArgs e, SingleField field) { Show(field); }