Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Juego de naves con clases

Estas en el tema de Juego de naves con clases en el foro de C/C++ en Foros del Web. Hice un juego de naves con clases en C++ o mas bien copie el código de un tutorial que vi por youtube pero debo decir ...
  #1 (permalink)  
Antiguo 17/04/2014, 23:12
 
Fecha de Ingreso: agosto-2013
Ubicación: monterrey
Mensajes: 8
Antigüedad: 10 años, 7 meses
Puntos: 0
Juego de naves con clases

Hice un juego de naves con clases en C++ o mas bien copie el código de un tutorial que vi por youtube pero debo decir que aprendí demasiado.

Pero quiero meter jefes pero no cualquier tipo de jefes. Digamos que es un juego de naves educativo donde por cada 100 puntos una pregunta aparece y para eso quiero hacer que pare el proceso del juego. Que solo imprima la pregunta. Y que al momento de ser contestada regrese al juego.

Existe alguna manera de hacerlo? Tal vez con otra clase? Pero creo que tiene que haber una manera mas facil.
  #2 (permalink)  
Antiguo 18/04/2014, 02:09
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: Juego de naves con clases

La mayoria de los videojuegos esta encerrado en el Gameloop(una especie de bucle) que repite y repite.
Un gameloop sencillo sin la mecánica seria:

while( vidas != 0 && salir != true ){
//procesar entrada

//Actualizar Lógica

//mostrar imagenes
}

Si buscas eso es muy probable que encuentres el bucle por que sin el no es posible que funcione el juego.
Una vez en el, deberías romperlo den un determinado momento para ejecutar un código o una función o una clase o lo que mas te guste ;).
Una forma de detener el bucle seria:

while( vidas != 0 && salir != true ){
//procesar entrada
//aqui miramos si el jugador pulso una tecla
//Actualizar Lógica
//aqui es donde movemos las imagenes y comprobamos colisiones y otras comprobaciones.
if ( puntuacion == 100 ){
//Aquí llamamos nuestro código, mientras el no se ejecute el juego no seguirá.
}

//mostrar imagenes
//Aqui mostramos todo por la pantalla.
}

Busque el Gameloop.
Te sorprenderás de lo tonto que es pero básicamente es eso, "un bucle". Esta claro que no es así de sencillo en tu código pero veras un bucle que dentro se repite todo el código una y otra vez hasta que no quede vidas o el usuario pulso la tecla para salir.
El bucle va dividido por las partes que antes comente. El bucle 1º mira si se pulso teclas, después hace las comprobaciones a ver si por ejemplo has chocado, o has dado en el blanco con tu nave, y si lo hiciste pues te suma los puntos, eso es la lógica de juego.
Por ultimo está la parte gráfica que es la de mostrar todos los cambios por pantalla.
Ya he visto loops que cambia el orden como por ejemplo primero la lógica después muestra por pantalla y por ultimo hace la comprobación de teclas justo final del loop, realmente eso es cuestión del usuario y de gustos, en cualquier punto del loop que longas una sentencia condicional para ver si el jugador ha ganado mas 100 puntos el juego se detiene para ejecutar tu código y de echo el juego es eso son sentencias condicionales por ejemplo:una sentencia condicional puede ser un switch que mire si has pulsado un boton y si has pulsado pues cual es ese botón. Si pulsaste arriba pues incrementa la coordenada que va hacia arriba, o si por ejemplo has pulsado disparar, pues se crea un objeto tipo proyectil que sale desde tus coordenadas actuales y que avanza hacia arriba. Eso depende del tipo de juego. =)
Espero ayas sido de utilidad, en los juegos poco ejemplo se puede dar la cuestión es entender como funciona el juego para así poder meterle mano. ;)

Etiquetas: clases, juego
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:00.