• Lunes 20 de Mayo de 2024, 02:41

Autor Tema:  Necesito asistencia con este código  (Leído 1028 veces)

Leito360

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Necesito asistencia con este código
« en: Viernes 6 de Mayo de 2011, 16:11 »
0
Hola, bueno, estoy programando una especie de Arkanoid rudimentario en C++.
Tengo todo hecho, colisiones, movimiento de barra, bola, etc.

Mi unico problema es que estoy usando la función clock_t, la uso para aplicarle un retraso a la bola. Este retraso se aplica también a la barra, por lo tanto, la barra es más lenta que la bola y es muy dificil pegarle.

Lo que necesitaría es aplicar dos retrasos, o velocidades diferentes. Uno para la bola y otro para la barra, pero no sé cómo hacer esto.

¿Me pueden dar alguna ayuda?, tengan en cuenta que estoy aprendiendo c++ desde hace unas dos o tres semanas, así que si pueden ser explicativos me harían un gran favor.
Uso la libreria conio2.h para colorear la barra, tengan en cuenta eso si quieren compilar el código.

Les dejo el código.

codepad.org/fTP76sPe

Muchas gracias, saludos.

ssaammuu

  • Miembro activo
  • **
  • Mensajes: 41
  • Nacionalidad: es
    • Ver Perfil
    • http://desarrollodejuegos.net
Re: Necesito asistencia con este código
« Respuesta #1 en: Viernes 6 de Mayo de 2011, 23:48 »
0
Te recomiendo que te olvides de crear retrasos de esa manera ya que estás parando el programa entero durante ese tiempo. Una opción que de hecho yo suelo usar bastante, es la de tomar nota del tiempo cada vez que mueves los objetos. Si defines una velocidad para cada objeto, puedes mover el objeto por tiempoTranscurrido*velocidad. Para hacer esto debes tener una variable que guarde el tiempo de la llamada anterior.

Cuando epiza el programa hacemos
Código: C
  1.  
  2. int tiempoAnteior = clock();
  3.  
  4.  

Y cada vez que movemos los objetos
Código: C
  1.  
  2. float deltaTiempo=(clock()-tiempoAnterior)/CLOCKS_PER_SEC;
  3. tiempoAnterior=clock();
  4.  
  5.  

Otra cosa es que es imprescindible que uses estructuras y funciones para ordenar tu código, si no, aparte de estar escribiendo lo mismo una y otra vez, te va a costar mucho seguirlo y modificarlo en el futuro. De todas formas este tipo de juego es más complejo de lo que pueda parecer por lo que no te recomiendo empezar así. Empieza con algo más sencillo como el tres en raya o un pequeño juego RPG de texto.
 :)