Esempio n. 1
0
 private void AddShipCategory(int lengthOfShip, int quantity)
 {
     for (int i = 0; i < quantity; i++)
     {
         Ships.Add(new Ship(Field, FieldLength, lengthOfShip, Random));
     }
 }
Esempio n. 2
0
        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);
        }