/// <summary> /// Konstruktor. /// </summary> /// <param name="xCoordinate">X-Koordinate im Feld</param> /// <param name="yCoordinate">Y-Koordinate im Feld</param> /// <param name="mineColor">Optional: Bestimmt, ob das Feld eine Mine ist und gibt die Farbe an.</param> public Field( int xCoordinate, int yCoordinate, MinesColors mineColor = MinesColors.NoColor) { if (xCoordinate < 0) { throw new ArgumentException("Coordinate must be >= 0", "xCoordinate"); } if (yCoordinate < 0) { throw new ArgumentException("Coordinate must be >= 0", "<yCoordinate"); } if (mineColor != MinesColors.NoColor) { this._IsMine = true; } this._Color = mineColor; this._XCoordinate = xCoordinate; this._YCoordinate = yCoordinate; }
/// <summary> /// Gibt die Anzahl der benachbarten Minen einer Farbe an. /// </summary> /// <param name="color">Gibt die zu suchende Farbe an.</param> /// <returns>Anzahl der gefundenen Minen.</returns> public int GetColoredMines(MinesColors color) { int mines = 0; foreach (Field field in this.NeighbouringFields) { if (field.Color == color) { mines++; } } return mines; }