Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/02/2016, 13:22
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 7 meses
Puntos: 204
Respuesta: Mostrar ganar al tocar un numero.

Conseguir lo que pides es tan sencillo como esperar a que num,num2 marquen las coordenadas donde se encuentra el 3.

En cualquier caso revisa también lo siguiente:

Código C:
Ver original
  1. fflush(stdin);

fflush es una instrucción para usar únicamente con buffers de salida y stdin es una instrucción de entrada. No se quien te ha enseñado a usar eso pero vete aprendiendo que no es para nada una buena práctica.

Código C:
Ver original
  1. do  {
  2.         fflush(stdin);
  3.         printf("Ingrese el numero de filas que tendra el juego\n");
  4.         a = isdigit(filas);
  5.         scanf("%d",&filas);
  6.         }
  7. while(filas > maxfilas || filas < minfilas);

¿Qué se supone que hace esa instrucción a=isdigit... si aun no se ha asignado el valor a "filas"?

Por otro lado, si introduces un valor no numérico tu programa va a funcionar mal sí o sí, pruébalo.

Código C:
Ver original
  1. for(i = 0; i < filas; i++)  {
  2.         for(j = 0; j < columnas; j++)   {
  3.             matriz[i][j]=0;
  4.             matriz[num][num2]=8;
  5.              matriz[filas][columnas]=3;
  6.         }
  7.     }

No tiene sentido que inicialices las celdas [num][num2] y [filas][columnas] una y otra vez, con que lo hagas una única vez sobra.

Código C:
Ver original
  1. #define maxfilas 10
  2. #define minfilas 3
  3. #define maxcolum 10
  4. #define mincolum 3
  5.  
  6. int matriz[400][400];

Si el laberinto más grande es de 10x10... ¿por qué forzar una reserva de 400x400?

Código C:
Ver original
  1. matriz[num][num2]=8;
  2.     matriz[filas][columnas]=0;
  3.     matriz[filas][columnas]=3;

¿Por qué haces dos asignaciones seguidas a [filas][columnas]? Con dejar solo la segunda te basta.

Código C:
Ver original
  1. case 'w':   {
  2.             if (matriz[num-1][num2]==0) {
  3.                 num--;
  4.                 if(matriz[num][num2]==3){
  5.                     break;
  6.                 }
  7.             }
  8.             break;
  9.         }

¿Has probado a pulsar la 'w' cuando estás en la parte superior del mapa? el mismo problema lo tienes con el resto de movimientos.

Un saludo.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.