Ya he comenzado, pero con mi poca experiencia me surgen dudas. Sería de mucha ayuda si quién pudiese fuera ayudando un poco.
Ahora mismo estoy con la función de insertar los barcos de la persona. Son dos barcos de 1, y un barco de 2. No se si tendré bien hechas las llamadas o las sentencias, pero siempre en la consola me sale que las coordenadas x,y ambas se salen.
Siento si son cosas básicas o estúpidas. Muchas gracias de antemano.
Código:
void comprobarBarcosPersona(int tablero[FILAS][COLUMNAS])
{
int i=1;
if ((FILAS<1||FILAS>7)&&(COLUMNAS<1||COLUMNAS>7)){
printf("\nDato incorrecto, X e Y estan fuera de los limites \n\n");}
else if (FILAS<1||FILAS>7){
printf("\nDato incorrecto, X esta fuera de los limites \n\n");}
else if (COLUMNAS<1||COLUMNAS>7){
printf("\nDato incorrecto, Y esta fuera de los limites \n\n");}
else if (tablero[FILAS][COLUMNAS]=='X' || tablero[FILAS+1][COLUMNAS]=='X' || tablero[FILAS-1][COLUMNAS]=='X'
|| tablero[FILAS+1][COLUMNAS+1]=='X' || tablero[FILAS+1][COLUMNAS-1]=='X' || tablero[FILAS][COLUMNAS+1]=='X'
|| tablero[FILAS][COLUMNAS-1]=='X' || tablero[FILAS-1][COLUMNAS+1]=='X' || tablero[FILAS-1][COLUMNAS-1]=='X') // Pregunto si en la pocision escogida ya existia un submarino
printf("\nDato incorrecto: Esa celda esta ya ocupada por otro submarino \n\n");
else{
tablero[FILAS][COLUMNAS]=='X';
i++;}
}
void colocarBarcosPersona(int tablero[FILAS][COLUMNAS])
{
int i=1, fila, columna;
int orientacion; //0=Horizontal, 1=Vertical;
do{
printf("\nIndique las posiciones de los 2 submarinos de tamaño 1. X,Y\n\n");
printf("Submarino #%i: ",i);
scanf("%d,%d",&fila,&columna);
comprobarBarcosPersona(tablero[FILAS][COLUMNAS]);
}
while (i<3);
i=1;
do{
printf("\nIndique las posiciones del submarino de tamaño 2. X,Y\n\n");
printf("Submarino #%i: ",i);
scanf("%d,%d",&fila,&columna);
comprobarBarcosPersona(tablero[FILAS][COLUMNAS]);
}
while (i<2);
}