Ayuda con variables públicas

Started by JoseBennu, December 08, 2010, 04:05:04 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

JoseBennu

Saludos.

Estoy programando en Bennu un juego de rol de corte roguelike y gráficos con reminiscencias de RPGs de SNES. En el mundo del juego, todos los objetos (armas, pociones, árboles, puertas, estatuas, mierdas) se crean a través de un mismo proceso Objeto() con variables públicas características que son empleadas para la interacción con otros objetos. Ahora bien, cada tipo de objeto debe constar de un conjunto de variables públicas determinadas y relativamente exclusivas (por ejemplo, una puerta tendrá la variable abierta/cerrada y una espada la variable daño pero no la abierta/cerrada). Partiendo del conjunto de variables públicas se puede crear un árbol de categorías y subcategorías de objetos, cada una de las cuales poseerá una serie de variables púbicas determinadas (por ejemplo, objeto equipable > arma > arma de filo > hacha > hacha legendaria).

Bien, esto es la teoría. Pero, en la práctica (en el código), no sé como determinar qué variables públicas tendrá cada instancia de Objeto(). Lo ideal sería llamar a la función añadiendo como parámetro el ID del objeto (por ejemplo, "Objeto(234);", siendo 234 la ID de hacha legendaria). Dicha ID sería buscada en una lista de objetos a partir de la cual se conseguiría la información necesaria.

Por un lado sé que las variables públicas se han de declarar al principio. Por otro, estuve ayer investigando e intuyo la movida se dirige hacia la gestión dinámica de memoria y los punteros, tema del que sólo tengo nociones básicas. En fin, espero haberme expresado bien y confío alguien pueda echarme una mano, tendrá un espacio reservado en los créditos.

FreeYourMind


JoseBennu


SplinterGU

Bienvenido...

vamos a ver...

si usas un solo tipo de proceso para todos los objetos del juego, entonces no vas a poder poner variables publicas exclusivas de cada tipo de objeto, a menos que uses (como bien lo pensaste) punteros y memoria dinamica, y en este caso deberias tener definida un tipo de datos exclusivo (estructura) para cada tipo de objeto diferente, y usar memoria dinamica para crearlos junto al objeto.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

JoseBennu

Sí, si el concepto lo tengo claro, yo pedía ayuda en relación a su aplicación práctica, sobretodo de cara a los punteros. Pero bueno, es igual, ya me buscaré la vida.