Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: SilentBolt en 4 Agosto 2017, 07:17 am



Título: comando se ejecute automaticamente a la hora de presionar la tecla sin enter
Publicado por: SilentBolt en 4 Agosto 2017, 07:17 am
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 (http://foro.elhacker.net/reglas.htm)
-Engel Lex


Título: Re: comando se ejecute automaticamente a la hora de presionar la tecla sin enter
Publicado por: MAFUS en 7 Agosto 2017, 18:09 pm
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.


Título: Re: comando se ejecute automaticamente a la hora de presionar la tecla sin enter
Publicado por: SilentBolt en 8 Agosto 2017, 04:11 am
Gracias por responder xD de todos modos ya lo resolvi usando la funcion getch gracias!!  ;-)