elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [Solucionado] Pausar y reanudar programa.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Solucionado] Pausar y reanudar programa.  (Leído 7,346 veces)
erovira

Desconectado Desconectado

Mensajes: 12


Ver Perfil
[Solucionado] Pausar y reanudar programa.
« en: 10 Marzo 2014, 17:46 pm »

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 Desconectado

Mensajes: 1.211



Ver Perfil
Re: [?][C] Pausar y reanudar programa.
« Respuesta #1 en: 10 Marzo 2014, 17:51 pm »

Cuando se pulse P, que se llame a esta función:

Código
  1. do
  2. {
  3.   ch = readkey();
  4. } while (ch != KEY_P);

El bucle no termina mientras no vuelvas a pulsar P.


En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
Yoel Alejandro

Desconectado Desconectado

Mensajes: 254



Ver Perfil WWW
Re: [?][C] Pausar y reanudar programa.
« Respuesta #2 en: 12 Marzo 2014, 01:34 am »

¿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 Desconectado

Mensajes: 12


Ver Perfil
Re: [?][C] Pausar y reanudar programa.
« Respuesta #3 en: 12 Marzo 2014, 08:08 am »

Cuando se pulse P, que se llame a esta función:

Código
  1. do
  2. {
  3.   ch = readkey();
  4. } 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 Desconectado

Mensajes: 1.211



Ver Perfil
Re: [?][C] Pausar y reanudar programa.
« Respuesta #4 en: 12 Marzo 2014, 10:52 am »

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

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
erovira

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: [?][C] Pausar y reanudar programa.
« Respuesta #5 en: 13 Marzo 2014, 14:24 pm »

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:

Código:
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 Desconectado

Mensajes: 1.211



Ver Perfil
Re: [?][C] Pausar y reanudar programa.
« Respuesta #6 en: 13 Marzo 2014, 15:13 pm »

Cambia la condición del bucle por la del if:

Código
  1. while(!key[KEY_P]);
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
erovira

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: [?][C] Pausar y reanudar programa.
« Respuesta #7 en: 13 Marzo 2014, 15:53 pm »

Con esto último si que funciona pero lo he solucionado antes de ver el mensaje, al final lo he hecho así:
Código
  1. if(key[KEY_P]){  
  2.      clear_keybuf();  
  3.      readkey();              
  4. }
  5.  

Muchas gracias
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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 Último mensaje 17 Junio 2005, 10:18 am
por Slasher-K
Problema Pausar programa
Programación C/C++
R3tr0 7 5,637 Último mensaje 27 Febrero 2011, 19:46 pm
por Ferno
Freezear un programa (pausar) con CheatEngine
Ingeniería Inversa
manuelxavier 4 4,473 Último mensaje 11 Agosto 2011, 02:15 am
por manuelxavier
[Solucionado] Forma para pausar un programa « 1 2 »
Programación C/C++
Caster 14 7,059 Último mensaje 28 Septiembre 2012, 23:17 pm
por Caster
Pausar y reanudar hilos
Java
Ninja_Kyubi 3 4,833 Último mensaje 24 Diciembre 2015, 07:09 am
por Barrendeitor
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines