Hacer esperar al programa.

Iniciado por cNoob, 27 Junio 2016, 23:26 PM

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

cNoob

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
Wannabe programador autodidacta de c++
"Usain Bolt comenzó gateando."

ianmorar03

#1
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 (cpp) [Seleccionar]

void espera() {
char space=' ';
int barra;
cout<<"Cargando..."<<endl;
for(barra=0;barra<50;barra++){
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),255); //te cambia el color de la linea generando un tipo barra de progreso
cout<<space;
Sleep(100);
}
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15); //vuelve el color a normal
cout<<"\n\tBienvenido!"<<endl;
}



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



Suerte!
Aquellos que estan locos como para pensar que pueden cambiar el mundo , son los que lo hacen.

AlbertoBSD

#2
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
#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!
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

cNoob

Wow, acabo de usar Sleep(90) y va como la seda hahaha, muchas gracias a los dos.
Saludos!
Wannabe programador autodidacta de c++
"Usain Bolt comenzó gateando."

ianmorar03

Cita de: 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!

En todas!

Usa el codigo que te pase para empezar el juego  :P
Aquellos que estan locos como para pensar que pueden cambiar el mundo , son los que lo hacen.