Esempio n. 1
0
 /// <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;
 }
Esempio n. 2
0
 /// <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;
 }