コード例 #1
0
        private void PintarBarco(int indice)
        {
            Barco b = barcos[indice];

            foreach (Casilla c in b.casillas)
            {
                casillas[c.Fila - 1, c.Columna - 1].Estado = c.Estado;
            }
        }
コード例 #2
0
        public string ComprobarCasilla(int fila, int columna)
        {
            string respuesta = "AGUA";
            char   estado    = casillas[fila - 1, columna - 1].Estado;

            if (estado == 'B')
            {
                bool marcado      = false;
                int  indiceBarcos = 0;
                do
                {
                    Barco barco          = barcos[indiceBarcos];
                    int   indiceCasillas = 0;
                    do
                    {
                        Casilla casilla = barco.casillas[indiceCasillas];
                        if (casilla.Fila == fila && casilla.Columna == columna)
                        {
                            barcos[indiceBarcos].casillas[indiceCasillas].Estado = 'X';
                            if (barcos[indiceBarcos].EstaHundido())
                            {
                                respuesta = "TOCADO Y HUNDIDO";
                            }
                            else
                            {
                                respuesta = "TOCADO";
                            }
                            PintarBarco(indiceBarcos);
                            marcado = true;
                        }
                        indiceCasillas++;
                    } while (!marcado && indiceCasillas < barco.casillas.Length);
                    indiceBarcos++;
                } while (!marcado && indiceBarcos < barcos.Length);
            }
            return(respuesta);
        }