Exemplo n.º 1
0
        public bool Placement(int x, int y, Boat pBoat, direcEnum direc, int numBoat)
        {
            boatPlace.Add(numBoat, pBoat);
            switch (direc)
            {
            case direcEnum.North:
                if (y - (pBoat.size - 1) >= 0)
                {
                    for (int i = 0; i < pBoat.size; i++)
                    {
                        this.boardTab[y - i, x] = numBoat;
                    }
                }
                break;

            case direcEnum.South:
                if (y + (pBoat.size - 1) <= 9)
                {
                    for (int i = 0; i < pBoat.size; i++)
                    {
                        this.boardTab[y + i, x] = numBoat;
                    }
                }
                break;

            case direcEnum.East:
                if (x + (pBoat.size - 1) <= 9)
                {
                    for (int i = 0; i < pBoat.size; i++)
                    {
                        this.boardTab[y, x + i] = numBoat;
                    }
                }
                break;

            case direcEnum.West:
                if (x - (pBoat.size - 1) >= 0)
                {
                    for (int i = 0; i < pBoat.size; i++)
                    {
                        this.boardTab[y, x - i] = numBoat;
                    }
                }
                break;

            default:
                return(false);
            }
            return(true);
        }
Exemplo n.º 2
0
        public Boolean CheckPlacement(int x, int y, int size, direcEnum direc)
        {
            switch (direc)
            {
            case direcEnum.North:
                if (y - (size - 1) >= 0)
                {
                    for (int i = 0; i < size; i++)
                    {
                        if (this.boardTab[y - i, x] != 0)
                        {
                            return(false);
                        }
                    }
                    return(true);
                }
                return(false);

            case direcEnum.South:
                if (y + (size - 1) <= 9)
                {
                    for (int i = 0; i < size; i++)
                    {
                        if (this.boardTab[y + i, x] != 0)
                        {
                            return(false);
                        }
                    }
                    return(true);
                }
                return(false);

            case direcEnum.East:
                if (x + (size - 1) <= 9)
                {
                    for (int i = 0; i < size; i++)
                    {
                        if (this.boardTab[y, x + i] != 0)
                        {
                            return(false);
                        }
                    }
                    return(true);
                }
                return(false);

            case direcEnum.West:
                if (x - (size - 1) >= 0)
                {
                    for (int i = 0; i < size; i++)
                    {
                        if (this.boardTab[y, x - i] != 0)
                        {
                            return(false);
                        }
                    }
                    return(true);
                }
                return(false);

            default:
                return(false);
            }
        }