Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda con funcion para Hundir la flota

Estas en el tema de Ayuda con funcion para Hundir la flota en el foro de C/C++ en Foros del Web. pues nada, tengo aqui un pequeño problema en generar los barcos enemigos en un jueguecito de hundir la flota. La funcion en su momento me ...
  #1 (permalink)  
Antiguo 18/01/2010, 15:28
 
Fecha de Ingreso: enero-2010
Mensajes: 1
Antigüedad: 14 años, 3 meses
Puntos: 0
Ayuda con funcion para Hundir la flota

pues nada, tengo aqui un pequeño problema en generar los barcos enemigos en un jueguecito de hundir la flota. La funcion en su momento me funcionaba, pero anduve trasteando con ella y ahora no tira, y no soy capaz de saber lo que le falla.

Se que debia haber hecho una copia de seguridad, pero no la hice y ahora la e liao

aqui os dejo la funcion que tengo hecha
Código:
void generar_enemigo ( int tablero_E [filas] [columnas])
{
    int posicion_X;
    int posicion_Y;

        for (int cont = 4; cont >= 1; cont--)
        {
            for (int cont2 = 1; cont2 <= 4; cont2++)

                for (int cont3 = 1; cont3 <= cont; cont3++)
                {
                    int orientacion = rand () % 1;  //Orientacion Horizontal o vertical.
                    int temp;
                    if (orientacion == 0) //Orientacion horizontal
                    {
                        temp = 0; // Variable temporal
                        do
                        {
                          posicion_Y = rand () % 10 + 1;

                          if (cont == 4)// Para que no genere en posiciones donde el barco se saldria del tablero por el eje X
                            posicion_X = rand () % 7 + 1;
                          if (cont == 3)
                            posicion_X = rand () % 8 + 1;
                          if (cont == 2)
                            posicion_X = rand () % 9 + 1;
                          if (cont == 1)
                            posicion_X = rand () % 10 + 1;


                            for (int a = posicion_X - 1; a <= (posicion_X + cont + 1); a++) //comprueba si todas las casillas adyacentes son 0
                                for (int b = posicion_Y - 1;b <= posicion_Y + 1; b++)
                                    temp+= tablero_E [b] [a];
                          }
                          while (temp != 0);

                          for (int colocar = posicion_X; colocar <= (posicion_X + cont);colocar++)
                            tablero_E [posicion_Y] [colocar] = 1;

                    }

                    if (orientacion == 1) //Orientacion vertical
                    {
                        temp = 0; // Variable temporal
                        do
                        {
                          posicion_X = rand () % 10 + 1;

                          if (cont == 4)// Para que no genere en posiciones donde el barco se saldria del tablero por el eje Y
                            posicion_Y = rand () % 7 + 1;
                          if (cont == 3)
                            posicion_Y = rand () % 8 + 1;
                          if (cont == 2)
                            posicion_Y = rand () % 9 + 1;
                          if (cont == 1)
                            posicion_Y = rand () % 10 + 1;


                            for (int a = posicion_Y - 1; a <= (posicion_Y + cont + 1); a++) //comprueba si todas las casillas adyacentes son 0
                                for (int b = posicion_X - 1;b <= posicion_X + 1; b++)
                                    temp+= tablero_E [a] [b];
                          }
                          while (temp != 0);

                          for (int colocar = posicion_Y; colocar <= (posicion_Y + cont);colocar++)
                            tablero_E [colocar] [posicion_X] = 1;
                    }
                }
        }
return;
}

Última edición por luismg; 18/01/2010 a las 15:52
  #2 (permalink)  
Antiguo 26/01/2010, 08:36
 
Fecha de Ingreso: octubre-2009
Mensajes: 182
Antigüedad: 14 años, 6 meses
Puntos: 5
Respuesta: Ayuda con funcion para Hundir la flota

NO se por que trasteas lo que funciona.

Etiquetas: funcion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:42.