Hola,
soy nuevo aquí. Me registré porque quería hacer mi primer videojuego con SDL/C++. Tras leerme un tutorial y hacer mi primer "mini-juego" solo, me han surgido dudas acerca de cómo estructurar un videojuego extenso.
El juego que hice es muy simple y es sólo 1 nivel, por lo que está hecho en un simple fichero "main.cpp" ayudado de funciones y un par de clases. Entonces me pregunto, ¿que pasaría si mi juego constara de 20 fases, todas ellas diferentes o que necesiten un tratamiento personalizado? Si lo hiciera igual, quedaría un único archivo muy extenso y poco accesible.
He pensado, que una forma de solucionar esto pudiera ser, crear 1 objeto por cada fase/nivel o estado de juego (pausa, menú, etc...). Cada objeto tiene su propia función loop() que cree, dibuje y trate todo el estado, entonces, desde el main.cpp, dentro del gameloop principal, llamo al loop que me convenga según el estado (si está en el nivel 1; nivel1.loop(), o en pausa; pausa.loop(), etc...).
¿Es una forma correcta de hacerlo? ¿Hay otras formas más eficientes?
En fin, busco un poco de ayuda sobre el tema...
Gracias.