/* 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); }
/* 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); }