elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  comando se ejecute automaticamente a la hora de presionar la tecla sin enter
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: comando se ejecute automaticamente a la hora de presionar la tecla sin enter  (Leído 527 veces)
SilentBolt

Desconectado Desconectado

Mensajes: 7


Ver Perfil
comando se ejecute automaticamente a la hora de presionar la tecla sin enter
« en: 4 Agosto 2017, 07:17 »

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  ;-)...

Código
  1. for(i = 1; i <= 10; i++){
  2.  
  3. i = 1;
  4.  
  5. movimiento = 0;
  6. scanf("%i", &movimiento);
  7.  
  8. if(movimiento == 6){
  9. system("cls");
  10.  
  11. movimiento = 0;
  12.  
  13. al6++;
  14. for(a = 1; a <= al2; a++){
  15. printf("\n");
  16. }
  17. for(a = 1; a <= al6; a++){
  18. printf("   ");
  19. }
  20.  
  21.  
  22. al6++;
  23. printf("XXX:D");
  24. printf("\n\n");
  25. }
  26. if(movimiento == 2){
  27. system("cls");
  28.  
  29. movimiento = 0;
  30.  
  31. al2++;
  32. for(a = 1; a <= al2; a++){
  33. printf("\n");
  34. }
  35. for(a = 1; a <= al6; a++){
  36. printf("   ");
  37. }
  38.  
  39. al2++;
  40.  
  41. printf("XXX:D");
  42. printf("\n\n");
  43. }
  44. if(movimiento == 8){
  45. system("cls");
  46.  
  47. movimiento = 0;
  48.  
  49. al2--;
  50.  
  51. for(a = 1; a <= al2; a++){
  52. printf("\n");
  53. }
  54. for(a = 1; a <= al6; a++){
  55. printf("   ");
  56. }
  57.  
  58. al2--;
  59.  
  60. printf("XXX:D");
  61. printf("\n\n");
  62. }
  63. if(movimiento == 4){
  64. system("cls");
  65.  
  66. movimiento = 0;
  67.  
  68. al6--;
  69.  
  70. for(a = 1; a <= al2; a++){
  71. printf("\n");
  72. }
  73. for(a = 1; a <= al6; a++){
  74. printf("   ");
  75. }
  76.  
  77. al6--;
  78.  
  79. printf(":DXXX");
  80. printf("\n\n");
  81. }



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


« Última modificación: 4 Agosto 2017, 07:30 por engel lex » En línea

MAFUS


Desconectado Desconectado

Mensajes: 944



Ver Perfil
Re: comando se ejecute automaticamente a la hora de presionar la tecla sin enter
« Respuesta #1 en: 7 Agosto 2017, 18:09 »

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.


En línea

while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}
SilentBolt

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: comando se ejecute automaticamente a la hora de presionar la tecla sin enter
« Respuesta #2 en: 8 Agosto 2017, 04:11 »

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

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines