comando se ejecute automaticamente a la hora de presionar la tecla sin enter

Iniciado por SilentBolt, 4 Agosto 2017, 07:17 AM

0 Miembros y 1 Visitante están viendo este tema.

SilentBolt

Buenas, soy un nuevo programador y llevo un mes programando mas o menos, uso windows y el IDE dev c++ 5.11...

Mi problema es el siguiente, quize hacer un juego de snake en c, para pasar el rato y termine dedicandole mas de media hora xD, el problema que tengo es que a la hora de que la serpiente se mueva(usando el teclado numerico), tengo que presionar el numero ya sea 6, 4, 8 o 2 y posteriormente presionar enter, quisiera saber si hay alguna manera de que el movimiento de la serpiente se ejecute automaticamente a la hora de presionar la tecla sin la necesidad de presionar enter, gracias aqui esta la parte del codigo fuente que quiero mejorar  gracias  ;-)...

for(i = 1; i <= 10; i++){

i = 1;

movimiento = 0;
scanf("%i", &movimiento);

if(movimiento == 6){
system("cls");

movimiento = 0;

al6++;
for(a = 1; a <= al2; a++){
printf("\n");
}
for(a = 1; a <= al6; a++){
printf("   ");
}


al6++;
printf("XXX:D");
printf("\n\n");
}
if(movimiento == 2){
system("cls");

movimiento = 0;

al2++;
for(a = 1; a <= al2; a++){
printf("\n");
}
for(a = 1; a <= al6; a++){
printf("   ");
}

al2++;

printf("XXX:D");
printf("\n\n");
}
if(movimiento == 8){
system("cls");

movimiento = 0;

al2--;

for(a = 1; a <= al2; a++){
printf("\n");
}
for(a = 1; a <= al6; a++){
printf("   ");
}

al2--;

printf("XXX:D");
printf("\n\n");
}
if(movimiento == 4){
system("cls");

movimiento = 0;

al6--;

for(a = 1; a <= al2; a++){
printf("\n");
}
for(a = 1; a <= al6; a++){
printf("   ");
}

al6--;

printf(":DXXX");
printf("\n\n");
}



· Lostítulos deben ser descriptivos
>aquí las reglas del foro
-Engel Lex

MAFUS

Sí, hay forma, pero tendrás que usar la API de Windows para configurar la consola. De normal se debe pulsar ENTER, pero eso se puede cambiar.

SilentBolt

Gracias por responder xD de todos modos ya lo resolvi usando la funcion getch gracias!!  ;-)