public Player(int starPosNumber, int fieldSize) { switch (starPosNumber) { case 1: { Position = new PositionOnThePlane(0, 0); } break; case 2: { Position = new PositionOnThePlane(0, fieldSize - 1); } break; case 3: { Position = new PositionOnThePlane(fieldSize - 1, 0); } break; case 4: { Position = new PositionOnThePlane(fieldSize - 1, fieldSize - 1); } break; } }
public Game(int starPosNumber, int fieldSize, int trapsNumber) { _fieldSize = fieldSize; _trapsNumber = trapsNumber; int count = 0; Random rnd = new Random(); _field = new int[_fieldSize, _fieldSize]; _player = new Player(starPosNumber, _fieldSize); _finishPosition = new PositionOnThePlane(fieldSize - 1 - _player.Position.X, fieldSize - 1 - _player.Position.Y); for (int i = 0; i < fieldSize; i++) { for (int j = 0; j < fieldSize; j++) { PositionOnThePlane temp = new PositionOnThePlane(i, j); if (count < _trapsNumber && _player.Position != temp & _finishPosition != temp) { _field[i, j] = rnd.Next(0, 11); if (_field[i, j] > 0) { count++; } } else { _field[i, j] = 0; } } } }
// Написал эти методы хотя и не использую их, т.к. вылетало предупреждение. public override bool Equals(object obj) { if (obj.GetType() != this.GetType()) { return(false); } PositionOnThePlane position = (PositionOnThePlane)obj; return(this.X == position.X && this.Y == position.Y); }