public Polje findPolje(Polje b) { for (int i = 0; i < _red; i++) { for (int j = 0; j < _kolona; j++) { if (_matrica[i, j] == b) { return(_matrica[i, j]); } } } return(null); }
public void NapraviMatricu(int red, int kolona, int mine) { this._red = red; this._kolona = kolona; this._brojMina = mine; this._matrica = new Polje[_red, _kolona]; for (int i = 0; i < _red; i++) { for (int j = 0; j < _kolona; j++) { _matrica[i, j] = new Polje(); _matrica[i, j].RedPolja = i; _matrica[i, j].KolonaPolja = j; } } Random novi = new Random(); int pom = _brojMina; while (pom > 0) { int a = novi.Next(0, _red); int b = novi.Next(0, _kolona); if (_matrica[a, b].Vrednost != 'X') { _matrica[a, b].Vrednost = 'X'; pom--; } } int count; for (int i = 0; i < _red; i++) { for (int j = 0; j < _kolona; j++) { count = 0; if (_matrica[i, j].Vrednost == 'X') { continue; } for (int k = i - 1; k <= i + 1; k++) { for (int l = j - 1; l <= j + 1; l++) { if (k >= 0 && l >= 0 && k < PoljeMatrix.Instance.Red && l < PoljeMatrix.Instance.Kolona) { if (_matrica[k, l].Vrednost == 'X') { count++; } } } } _matrica[i, j].Vrednost = Convert.ToChar(count + 48); } } nova = new Polje[_red * _kolona]; count = 0; for (int i = 0; i < _red; i++) { for (int j = 0; j < _kolona; j++) { nova[count] = _matrica[i, j]; count++; } } }