Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: cNoob en 27 Junio 2016, 23:26 pm



Título: Hacer esperar al programa.
Publicado por: cNoob en 27 Junio 2016, 23:26 pm
Hola de nuevo!
Estaba haciendo un pequeño juego (el de snake) y para hacer que la serpiente se mueva simplemente hago que la pantalla se limpie y se vuelva a dibujar todo con las nuevas coordenadas de la serpiente y asi todo el rato, pero el problema es que como el programa se carga muy rápido, la rserpiente va suuuper rapido y no es posible manejarla de forma facil. Hay alguna forma de hacer que el programa espere un x tiempo (en este caso de unas centesimas) antes de volver a cargar todo? No se si me explico...
Un saludo :D


Título: Re: Hacer esperar al programa.
Publicado por: ianmorar03 en 28 Junio 2016, 00:30 am
Hola!

Tampoco se mucho pero creo que esto podria ayudar!
Con la libreria <windows.h> la funcion 'Sleep(x)' (con S mayuscula ) siendo x el tiempo, el tiempo es en milisegundos, si x=1000, seria igual a un segundo!
Ejemplo:

Código
  1. void espera() {
  2. char space=' ';
  3. int barra;
  4. cout<<"Cargando..."<<endl;
  5. for(barra=0;barra<50;barra++){
  6. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),255); //te cambia el color de la linea generando un tipo barra de progreso
  7. cout<<space;
  8. Sleep(100);
  9. }
  10. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15); //vuelve el color a normal
  11. cout<<"\n\tBienvenido!"<<endl;
  12. }
  13.  


Sabiendo la Sleep(x) ya puedes hacer que dure un poco! espero que te funcione!



Suerte!


Título: Re: Hacer esperar al programa.
Publicado por: AlbertoBSD en 28 Junio 2016, 00:41 am
Si quieres programar algo mas estandar usa sleep ( "s" minuscula) que hace esperar x cantidad de segundos

Otras opciones son:

  • usleep

El recibe solo un parametro (X microsegundos)


Tienes que agregar la biblioteca de funciones
Código
  1. #include <unistd.h>

Mas información:

http://man7.org/linux/man-pages/man3/sleep.3.html
http://man7.org/linux/man-pages/man3/usleep.3.html

Saludos!


Título: Re: Hacer esperar al programa.
Publicado por: cNoob en 28 Junio 2016, 00:47 am
Wow, acabo de usar Sleep(90) y va como la seda hahaha, muchas gracias a los dos.
Saludos!


Título: Re: Hacer esperar al programa.
Publicado por: ianmorar03 en 28 Junio 2016, 00:50 am
Wow, acabo de usar Sleep(90) y va como la seda hahaha, muchas gracias a los dos.
Saludos!

En todas!

Usa el codigo que te pase para empezar el juego  :P