Invocar m谩s de una funci贸n al mismo tiempo (paralelamente)
Hola!
Soy mas o menos nuevo en la programaci贸n en C y quisiera externarles una duda que tengo:
Estoy programando un sencillo juego en c con colas donde una letra generada aleatoriamente va callendo y el usuario debe teclear dicha letra y luego de 4 segundos si el usuario no la ha tecleado comienza a caer una segunda letra en la pantalla (en la consola) y as铆 sucesivamente para un ciclo de diez letras y debe teclearlas todas antes de que lleguen al fondo (coordenada 25 en y de la consola)
Tengo el grave problema (creo yo) de que para lograr el efecto de que la primera letra caiga hasta que llegue al fondo o el usuario teclee algo y mientras tambi茅n despues de 4 segundos empezar a dejar caer la segunda y seguir dejando caer la primera y estar monitoreando el teclado NECESITO HACER LA INVOCACI脫N DE FUNCIONES DE MANERA PARALELA, ES DECIR AL MISMO TIEMPO
La soluci贸n que me imagino es tener en la funci贸n principal un while(!kbhit()) e ir llamando a una funci贸n recursivamente cada 4 segundos que se llame caer() la cual haga el dichoso efecto de dejar caer las letras pero necesito que no se detenga la funci贸n en curso para llamarse recursivamente
Espero me de a entender, lo que necesito es una manera de invocar (ejecutar) funciones de forma paralela
SE LOS AGRADECER脡 ETERNAMENTE SI ME AYUDAN
GRACIAS!!!!!!!!
Soy mas o menos nuevo en la programaci贸n en C y quisiera externarles una duda que tengo:
Estoy programando un sencillo juego en c con colas donde una letra generada aleatoriamente va callendo y el usuario debe teclear dicha letra y luego de 4 segundos si el usuario no la ha tecleado comienza a caer una segunda letra en la pantalla (en la consola) y as铆 sucesivamente para un ciclo de diez letras y debe teclearlas todas antes de que lleguen al fondo (coordenada 25 en y de la consola)
Tengo el grave problema (creo yo) de que para lograr el efecto de que la primera letra caiga hasta que llegue al fondo o el usuario teclee algo y mientras tambi茅n despues de 4 segundos empezar a dejar caer la segunda y seguir dejando caer la primera y estar monitoreando el teclado NECESITO HACER LA INVOCACI脫N DE FUNCIONES DE MANERA PARALELA, ES DECIR AL MISMO TIEMPO
La soluci贸n que me imagino es tener en la funci贸n principal un while(!kbhit()) e ir llamando a una funci贸n recursivamente cada 4 segundos que se llame caer() la cual haga el dichoso efecto de dejar caer las letras pero necesito que no se detenga la funci贸n en curso para llamarse recursivamente
Espero me de a entender, lo que necesito es una manera de invocar (ejecutar) funciones de forma paralela
SE LOS AGRADECER脡 ETERNAMENTE SI ME AYUDAN
GRACIAS!!!!!!!!
La forma sencilla de hacerlo ser铆a algo as铆 como:
while ( !kbhit() )
{
mover_letras(); // Mover las letras que haya presentes en ese momento
comprobar_timeout();
if (ocurrio_timeout) crear_nueva_letra();
}
Para comprobar el timeout, tendr谩s que tomar alguna referencia de tiempo (por ejemplo, la hora que tenga el SO). Vuelve a leer esta referencia cada vez que se pulse una tecla.
No es un proceso paralelo, pero para un juego sencillo del tipo del que propones puede ser suficiente.
Saludos,
while ( !kbhit() )
{
mover_letras(); // Mover las letras que haya presentes en ese momento
comprobar_timeout();
if (ocurrio_timeout) crear_nueva_letra();
}
Para comprobar el timeout, tendr谩s que tomar alguna referencia de tiempo (por ejemplo, la hora que tenga el SO). Vuelve a leer esta referencia cada vez que se pulse una tecla.
No es un proceso paralelo, pero para un juego sencillo del tipo del que propones puede ser suficiente.
Saludos,
