Código
#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <time.h> #define maxfilas 10 #define minfilas 3 #define maxcolum 10 #define mincolum 3 int main(){ int filas,columnas,i ,j,a,num,num2; int matriz[400][400]; do { } while(filas > maxfilas || filas < minfilas); do { } while(columnas > maxcolum || columnas < mincolum); //Cargamos la matriz for(i = 0; i < filas; i++) { for(j = 0; j < columnas; j++) { matriz[i][j]=0; matriz[num][num2]=8; matriz[filas][columnas]=3; } } imprimir(filas,columnas,matriz); movimiento(filas,columnas,matriz); return 0; } void imprimir(int filas,int columnas,int matriz[maxfilas][maxcolum]) { //int matriz[filas][columnas]; int num,num2,i,j; //Imprimiendo la matriz for(i = 0; i < filas; i++) { for(j = 0; j < columnas; j ++) { if(matriz[i][j]==0) { } if(matriz[i][j]==8) { } if(matriz[i][j]==3) { } } } }// cierre funcion imprimir. void movimiento(int filas,int columnas,int matriz[maxfilas][maxcolum]) { int num,num2; char tecla; //int matriz[filas][columnas]; matriz[num][num2]=8; matriz[filas-1][columnas-1]=3; do { matriz[filas][columnas]=0; matriz[num][num2]=0; switch (tecla) { case 'w': { if (matriz[num-1][num2]==0) { num--; if(matriz[num][num2]==3){ break; } } break; } case 's': { if (matriz[num+1][num2]==0) { num++; if(matriz[num][num2]==3){ break; } } break; } case 'a': { if (matriz[num][num2-1]==0) { num2--; if(matriz[num][num2]==3){ break; } } break; } case 'd': { if (matriz[num][num2+1]==0){ num2++; if(matriz[num][num2]==3){ break; } } break; } }//cierre switch matriz[num][num2]=8; matriz[filas][columnas]=0; matriz[filas][columnas]=3; imprimir(filas,columnas,matriz); }while(tecla != 'x'); }