Exemplo n.º 1
0
        /* Comprueba si todas las coordenadas de un barco tienen un
         *  cierto estado en este tablero
         */
        public bool BarcoEstado(Estado e, Barco b)
        {
            List <Coordenada> cordB = b.PosicionesBarco();
            List <Coordenada> cordT = this.Coordenadas();

            // Comprobamos que todas las coordenadas del barco estan en el tablero
            foreach (Coordenada c in cordB)
            {
                if (cordT.Contains(c) == false)
                {
                    return(false);
                }
            }

            // Comprobamos que todas esas coordenadas tienen el estado dicho
            foreach (Casilla c in this.tablero)
            {
                if (c.estado != e && cordB.Contains(c.coord))
                {
                    return(false);
                }
            }

            return(true);
        }
Exemplo n.º 2
0
        /* Actualiza todas las posiciones de un barco en un tablero como hundido
         *  dejando las de los otros barcos intactas
         *  (queda fuera del alcance de la funcion comprobar que el barco
         *  efectivamente esta hundido)
         */
        public Tablero HundirBarco(Barco b)
        {
            Tablero t = new Tablero(this.tablero);

            foreach (Casilla c in t.tablero)
            {
                if (b.PosicionesBarco().Contains(c.coord))
                {
                    c.estado = Estado.Hundido;
                }
            }

            return(t);
        }