Red de conocimiento informático - Espacio del host - Utilizo el lenguaje C para escribir un programa de movimiento de flechas. Quiero usar el teclado para controlar la dirección del movimiento de las flechas. ¿Qué debo hacer? Pido ayuda a expertos.

Utilizo el lenguaje C para escribir un programa de movimiento de flechas. Quiero usar el teclado para controlar la dirección del movimiento de las flechas. ¿Qué debo hacer? Pido ayuda a expertos.

Utilice la función getch() para aceptar la entrada de caracteres desde el teclado para controlar el movimiento y luego actualizar la pantalla. Es así de simple

Aquí hay un programa de referencia

<. p>#include

#include

#include

#define N 6

int x=1, y=1;

int current_value=0;

int mapa[N][N]={ {1,1,1, 1,1, 1},{1,0,0,0,0,1},{1,0,0,0,0,1},{1,0,0,0,0,1},{ 1,0, 0,0,0,2},{1,1,1,1,1,1} };

impresión nula()

{

int i, j;

for(i=0; i

{ for(j=0; j

{

if(i==y && j==x)

{printf("#");

continuar;

}

if(map[i][j]==1)

printf("*");

if( mapa[i] [j]==0)

printf("-");

if(mapa[i][j]==2)

printf( "$");

}

printf("\n");

}

}

int control(char ch)

{

cambiar(ch)

{

caso 'a':

{ if(mapa[y][x-1]==0 || mapa[y][x-1]==2)

{

x- -;

current_value=map[y][x];

devuelve 1;

}

else

return 0;

}

caso 'd':

{ if(map[y][x+1]== 0 || mapa [y][x+1]==2)

{

x++;

valor_actual=mapa[y][x];

devuelve 1;

}

más

devuelve 0;

}

caso 's ':

{ if(mapa[y+1][x]==0 || mapa[y+1][x]==2)

{

y++;

current_value=map[y][x]

devuelve 1;

}

más

regresar

0;

}

caso 'w':

{ if(mapa[y-1][x]==0 || mapa[y- 1][x]==2)

{

y--;

current_value=map[y][x]; p> devuelve 1;

}

más

devuelve 0;

}

predeterminado: devuelve 0 ;

}

}

int main()

{

int i, j; p>

int hecho=0;

int éxito=0;

char ch;

imprimir();

mientras (!éxito)

{

ch=getch();

if(ch=='0')

romper ;

hecho=control(ch);

if(hecho)

{

system("cls");

p>

print();

}

if(map[y][x]==2)

{éxito =1;

descanso;

}

}

if(éxito)

printf("Felicitaciones ¡Por tu éxito! ,\n");

else

printf("Sigue con el buen trabajo~~\n");

return 0 ;

}