Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: Abram on April 15, 2011, 08:42:22 PM

Title: STRUCT vs TYPE, diferencias
Post by: Abram on April 15, 2011, 08:42:22 PM
Buenas, poco a poco me voy soltando con el lenguaje, y aunque conozco el funcionamiento de ambos datos, me gustaria saber en que casos podrian ser utiles, es decir, si por ejemplo tengo 10 enemigos que comparten ciertas caracteristicas (vida, disparo, color, etc...) es mejor tenerlos en un struct o crear un type?
Title: Re: STRUCT vs TYPE, diferencias
Post by: osk on April 15, 2011, 08:49:58 PM
Depende. Si lo vas a usar mucho, supongo que es mejor que definas un nuevo tipo de datos, y eso se hace con Type.
En mi manualillo lo explico un poco.
Title: Re: STRUCT vs TYPE, diferencias
Post by: Abram on April 15, 2011, 09:16:19 PM
Sip de tu manual me viene la duda xD que no me ha quedado claro en que casos se deben usar una u otra, es decir, en el ejemplo anterior, si quisiera definir X enemigos que comparten ciertas variables, como lo deberia hacer? gracias osk! ^^
Title: Re: STRUCT vs TYPE, diferencias
Post by: Danielo515 on April 15, 2011, 10:29:02 PM
yo creo que a nivel de performance no se va a notar nada,pero tu si que lo vas a notar a la hora de programar mas fácilmente.  Es mucho mas sencillo pasar por parámetros y trabajar con un tipo de.dato que con una estructura. El código queda mas limpio y legible. Es la única diferencia que se me ocurre
Title: Re: STRUCT vs TYPE, diferencias
Post by: Rein (K´)ah Al-Ghul on April 15, 2011, 10:39:49 PM
concuerdo con Danielo515, los typedef son mas comodos de usar, ya que se tratan como una variable mas. con todos sus beneficios
(intenta copiar una estructura en otra similar :P )
Title: Re: STRUCT vs TYPE, diferencias
Post by: Abram on April 15, 2011, 11:26:47 PM
Ya, supongo que es por tener el codigo mas ordenado, pero no se, me cuesta usarlos xDD... es que claro, si por ejemplo en un juego de naves, pongo 5 naves, seria absurdo poner velocidad1=x; velocidad2=y; etc... seria un caos, pero no se... sera que no me acostumbro a usar los types, que no sabria como plasmarlo en codigo (hacer el type se hacerlo xD me refiero a usarlo luego en el juego).
Title: Re: STRUCT vs TYPE, diferencias
Post by: Rein (K´)ah Al-Ghul on April 15, 2011, 11:46:32 PM
luego se usa como una variable normal

Global
typedef puntos
int puntuacion;
string nombre;
end

puntos jugador1;
puntos jugador2;
//...

jugador1.nombre = "Abram";
jugador1.puntuacion = 1500;
jugador2 = jugador1;
jugador2.nombre = "Abram 2";
jugador2.puntuacion += 500;
Title: Re: STRUCT vs TYPE, diferencias
Post by: SplinterGU on April 16, 2011, 01:04:48 AM
en realidad no es que uno sea mas comodo que otro o mas sencillo, o nada, segun la circunstancia es conveniente uno u otro.
Title: Re: STRUCT vs TYPE, diferencias
Post by: Abram on April 16, 2011, 09:38:37 AM
Muchas gracias a ambos ^^ por ejemplo el funcionamiento de type lo tengo mas o menos claro, si quisieramos crear colores con sus diferentes componentes RGB podriamos hacer un:

type color
byte r;
byte g;
byte b;
end

Y luego solo habria que crear variables respecto a ese type como color azul; etc... vale, es una forma cojonuda de agrupar muchas variables que comparten ciertas caracteristicas, entonces el struct que utilidad tiene frente a type? Gracias!
Title: Re: STRUCT vs TYPE, diferencias
Post by: SplinterGU on April 16, 2011, 02:45:40 PM
en ese caso, ese type color es correcto, porque supongo que se usara en muchos puntos del programa con varias variables del mismo tipo, pero hay casos donde solo necesitamos 1 de estas variables con un formato especial en todo el programa (globales o privadas) y en ese caso conviene mas usar un struct.
Title: Re: STRUCT vs TYPE, diferencias
Post by: Abram on April 16, 2011, 02:48:05 PM
Vale, capto la idea, si voy a usar esa estructura de datos repetidas veces mejor hacerla type, si por ejemplo quiero que al guardar una partida se guarden ciertos datos mejor meterlos en un struct, no? intentare programar con types para coger soltura, gracias!
Title: Re: STRUCT vs TYPE, diferencias
Post by: SplinterGU on April 16, 2011, 02:53:04 PM
claro, por ejemplo, tengo una estructura global de configuracion, entonces conviene usar struct...


struct config
    int players;
    int sound_enable;
    string player1_name;
    string player2_name;
end


por ejemplo, ahi conviene usar struct no tiene sentido hacer un type para luego definir una variable que solo definire 1 de ese tipo.
Title: Re: STRUCT vs TYPE, diferencias
Post by: Abram on April 16, 2011, 03:21:40 PM
Muchas gracias maestro, me ha quedado clarisimo ^^ ambos sirven para "agrupar" datos que tienen cosas en comun, struct lo hace un numero limitado de veces, y con type la podemos inicializar las veces que queramos (para algo es un tipo de dato mas), muchas gracias! karma++
Title: Re: STRUCT vs TYPE, diferencias
Post by: SplinterGU on April 16, 2011, 03:35:33 PM
ummm... no tan asi...

type es un tipo de dato nuevo, y permite que luego podamos definir variables de ese tipo.
struct es una variable en si.