private void AddShipCategory(int lengthOfShip, int quantity) { for (int i = 0; i < quantity; i++) { Ships.Add(new Ship(Field, FieldLength, lengthOfShip, Random)); } }
public Boolean PlaceShip(int x1, int y1, int x2, int y2, int size) { if (x1 > 10 || y1 > 10 || x2 > 10 || y2 > 10 || x1 < 0 || y1 < 0 || x2 < 0 || y2 < 0 || Abs(x1 - x2) + Abs(y1 - y2) + 1 != size || !IsFreeSpace(x1, y1, x2, y2)) { return(false); } List <ShipPart> parts = new List <ShipPart>(); for (int i = 0; i <= Abs(x1 - x2); i++) { for (int j = 0; j <= Abs(y1 - y2); j++) { int x = Min(x1, x2) + i; int y = Min(y1, y2) + j; parts.Add(new ShipPart(x, y)); Board[x, y] = TileStatus.Ship; } } Ships.Add(new Ship(parts, this)); return(true); }