Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Organizacion de clases

Iniciado por CoLSoN2, 03 de Octubre de 2002, 03:22:15 PM

« anterior - próximo »

CoLSoN2

                                Bueno, tengo que organizar mi juego de alguna manera, y tengo 3 posibilidades (en este aspecto):
1º - Clases sueltas, y luego creas un objeto de cada y lo utilzas por separado en el programa principal (cVBuffer, cTexture, etc)
2º - 1 clase para cada "engine" del juego (cGraphics, cSound, etc) ke encapsula a las otras del mismo "campo". <- ahora lo tengo asi
3º - 1 Clase (cGame) que encapsule a todas las demas (ia sea en forma 2º o 1º)

cual usais vosotros? k ventajas/inconvenientes tiene cada una ?                                
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

Frodrig

                               
CitarBueno, tengo que organizar mi juego de alguna manera, y tengo 3 posibilidades (en este aspecto):
1º - Clases sueltas, y luego creas un objeto de cada y lo utilzas por separado en el programa principal (cVBuffer, cTexture, etc)
2º - 1 clase para cada "engine" del juego (cGraphics, cSound, etc) ke encapsula a las otras del mismo "campo". <- ahora lo tengo asi
3º - 1 Clase (cGame) que encapsule a todas las demas (ia sea en forma 2º o 1º)

cual usais vosotros? k ventajas/inconvenientes tiene cada una ?

Bueno, personalmente para hacer Crisol (puedes obtener el codigo fuente del motor en http://usuarios.lycos.es/crisolengine) cree una clase por cada subsistema. Estas clases a su vez actuan de Facade para cada uno de los demas elementos asociados a dicho subsistema. A parte, existe una clase denominada CCRISOLEngine que actua de Facade de todos los subsistemas.

La coordinacion de las diferentes clases (llamada al subsistema grafico para que haga render, al de sonido para que los reproduzca, etc) lo hago a traves de unas clases que representan los diferentes estados del juego y que son amigas de CCRISOLEngine para poder trabajar con los diferentes subsistemas pero de forma directa, pues los metodos que se ofrecen via interfaz siempre son de caracter general y no permiten, por asi decirlo, bajar a la "sala de maquinas" de la clase.

En fin, supongo que no me habras entendido muy bien, resumiendo:

Uso el metodo 2) para hacer modular el motor y poder trabajar entre subsistemas sin colision, pero acudo al 3) para mantener todas esas clases encapsuladas en un mismo sitio.

Un saludo.                                

NeLo

                                Yo también tengo una clase CApp que controla a los subsistemas CRender, CSound, CInput...

Saludos.                                
Drowning deep in my sea of loathing

Loover

                                Nelo, ¿puedes mandarme un ejemplo de cómo lo haces? Quita todo el codigo que tenga que ver con tu motor y demás :). Solo quiero ver como se hace una estructura así... ¿utilizas herencia?

Si tienes tiempo mandamelo aqui: javidrislo@hotmail.com                                
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

CoLSoN2

                                Eso abia pensado Frodrig, tener una clase cGame que las maneje todas (mas que nada pq quiero hacer una especie de manejador de eventos, y acerlo de otra manera seria jodidillo..)
thx a todos =)                                
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.