Autor Tema: STRUCT vs TYPE, diferencias  (Leído 2222 veces)

Abram

  • Jr. Member
  • **
  • Mensajes: 75
  • Karma: 8
  • a.k.a. GOKÙ
STRUCT vs TYPE, diferencias
« en: Abril 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?

osk

  • Hero Member
  • *****
  • Mensajes: 516
  • Karma: 52
Re: STRUCT vs TYPE, diferencias
« Respuesta #1 en: Abril 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.

Abram

  • Jr. Member
  • **
  • Mensajes: 75
  • Karma: 8
  • a.k.a. GOKÙ
Re: STRUCT vs TYPE, diferencias
« Respuesta #2 en: Abril 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! ^^

Danielo515

  • Sr. Member
  • ****
  • Mensajes: 480
  • Karma: 4
    • Blog del Blogbo
Re: STRUCT vs TYPE, diferencias
« Respuesta #3 en: Abril 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

Rein (K´)ah Al-Ghul

  • Hero Member
  • *****
  • Mensajes: 657
  • Karma: 8
Re: STRUCT vs TYPE, diferencias
« Respuesta #4 en: Abril 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 )

Rein (K´)ah Al-Ghul
Infected with the Krieger strain of the Human-MetaHuman Vampiric Virus.

en vez de darme Karma positivo, denme (K´)arma negativ

Abram

  • Jr. Member
  • **
  • Mensajes: 75
  • Karma: 8
  • a.k.a. GOKÙ
Re: STRUCT vs TYPE, diferencias
« Respuesta #5 en: Abril 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).

Rein (K´)ah Al-Ghul

  • Hero Member
  • *****
  • Mensajes: 657
  • Karma: 8
Re: STRUCT vs TYPE, diferencias
« Respuesta #6 en: Abril 15, 2011, 11:46:32 pm »
luego se usa como una variable normal

Código: [Seleccionar]
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;

Rein (K´)ah Al-Ghul
Infected with the Krieger strain of the Human-MetaHuman Vampiric Virus.

en vez de darme Karma positivo, denme (K´)arma negativ

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12873
  • Karma: 377
Re: STRUCT vs TYPE, diferencias
« Respuesta #7 en: Abril 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.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Abram

  • Jr. Member
  • **
  • Mensajes: 75
  • Karma: 8
  • a.k.a. GOKÙ
Re: STRUCT vs TYPE, diferencias
« Respuesta #8 en: Abril 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!

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12873
  • Karma: 377
Re: STRUCT vs TYPE, diferencias
« Respuesta #9 en: Abril 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.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Abram

  • Jr. Member
  • **
  • Mensajes: 75
  • Karma: 8
  • a.k.a. GOKÙ
Re: STRUCT vs TYPE, diferencias
« Respuesta #10 en: Abril 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!

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12873
  • Karma: 377
Re: STRUCT vs TYPE, diferencias
« Respuesta #11 en: Abril 16, 2011, 02:53:04 pm »
claro, por ejemplo, tengo una estructura global de configuracion, entonces conviene usar struct...

Código: [Seleccionar]
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.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Abram

  • Jr. Member
  • **
  • Mensajes: 75
  • Karma: 8
  • a.k.a. GOKÙ
Re: STRUCT vs TYPE, diferencias
« Respuesta #12 en: Abril 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++

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12873
  • Karma: 377
Re: STRUCT vs TYPE, diferencias
« Respuesta #13 en: Abril 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.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2