Autor
|
Tema: [Solucionado] Pausar y reanudar programa. (Leído 7,346 veces)
|
erovira
Desconectado
Mensajes: 12
|
Hola, aprovecho esta duda para presentarme, llevo unos 6 meses programando (ingeniería electrónica), así que soy lo que viene siendo un novato. Pero bueno, vamos al tema,
estoy haciendo una programa/juego en C con Devcpp y allegro, tipo Space Invaders pero más cutre, se generan enemigos y van bajando por un tablero a lo que yo los intento matar, puntuación, distintos niveles... etc.
El problema viene dado ya que no se como jugar con las funciones sleep(), systempause, getchar(), para que cuando apriete la tecla 'P', el juego se quede pausado hasta que apriete cualquier otra tecla y entonces se reanude el juego. Seguro que es una tontería así que a ver si alguien puede ayudarme, gracias de antemano.
|
|
« Última modificación: 13 Marzo 2014, 15:54 pm por erovira »
|
En línea
|
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
Cuando se pulse P, que se llame a esta función: do { ch = readkey(); } while (ch != KEY_P);
El bucle no termina mientras no vuelvas a pulsar P.
|
|
|
En línea
|
|
|
|
Yoel Alejandro
|
¿Cuál es la diferencia entre readkey() y getchar()?
Disculpen, es que no soy muy entendido en funciones de bliblioteca Windows (si es éste el caso), prefiero dentro de lo posible moverme dentro del C estándar ...
|
|
|
En línea
|
Saludos, Yoel. P.D..- Para mayores dudas, puedes enviarme un mensaje personal (M.P.)
|
|
|
erovira
Desconectado
Mensajes: 12
|
Cuando se pulse P, que se llame a esta función: do { ch = readkey(); } while (ch != KEY_P);
El bucle no termina mientras no vuelvas a pulsar P. Hola, muchas gracias, esta tarde lo probaré, necesito alguna libreria especifica para el readkey ()?
|
|
|
En línea
|
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
Hola, muchas gracias, esta tarde lo probaré, necesito alguna libreria especifica para el readkey ()?
No, es la misma de Allegro. ¿Cuál es la diferencia entre readkey() y getchar()?
Disculpen, es que no soy muy entendido en funciones de bliblioteca Windows (si es éste el caso), prefiero dentro de lo posible moverme dentro del C estándar ...
getchar() lee un caracter, readkey la pulsación de una tecla. No es la biblioteca de windows, es la librería multimedia Allegro.
|
|
|
En línea
|
|
|
|
erovira
Desconectado
Mensajes: 12
|
Hola, lo acabo de probar y lo que me pasa es que al apretar P, el programa efectivamente se pausa, pero si aprieto P o cualquier otra tecla no pasa nada, es como si se bloquease. Esa parte la tengo asi: if (keypressed()){ if(key[KEY_P]){ do{ ch = readkey(); }while (ch != KEY_P); } //aqui tengo unas cuantas condiciones mas (mover jugador etc etc...) y luego cierro
}
|
|
|
En línea
|
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
Cambia la condición del bucle por la del if: while(!key[KEY_P]);
|
|
|
En línea
|
|
|
|
erovira
Desconectado
Mensajes: 12
|
Con esto último si que funciona pero lo he solucionado antes de ver el mensaje, al final lo he hecho así: if(key[KEY_P]){ clear_keybuf(); readkey(); }
Muchas gracias
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Pausar la ejecucion de un programa
« 1 2 »
Programación Visual Basic
|
EstoyBaneado
|
14
|
11,007
|
17 Junio 2005, 10:18 am
por Slasher-K
|
|
|
Problema Pausar programa
Programación C/C++
|
R3tr0
|
7
|
5,637
|
27 Febrero 2011, 19:46 pm
por Ferno
|
|
|
Freezear un programa (pausar) con CheatEngine
Ingeniería Inversa
|
manuelxavier
|
4
|
4,473
|
11 Agosto 2011, 02:15 am
por manuelxavier
|
|
|
[Solucionado] Forma para pausar un programa
« 1 2 »
Programación C/C++
|
Caster
|
14
|
7,059
|
28 Septiembre 2012, 23:17 pm
por Caster
|
|
|
Pausar y reanudar hilos
Java
|
Ninja_Kyubi
|
3
|
4,833
|
24 Diciembre 2015, 07:09 am
por Barrendeitor
|
|