Prototipo de ayuda
Componente Diseñado por
Crea-Flash.com.
Derechos reservados
Data Structures

Data Structures / Estructuras de Datos

Esta funcionalidad está solamente disponible en la versión registrada del Game Maker.

En los juegos muy a menudo necesitas guardar información. Por ejemplo necesitas guardar la lista de objetos que una persona lleva, o guardar lugares que deben ser visitados. Puedes usar arrays para esto. Pero si quieres hacer operaciones mas complicadas como ordenar, remover, buscar, etc. un objeto en particular, necesitarás escribir largos códigos en GML los cuales pueden realentizar el juego en su ejecución.

Para solucionar esto, Game Maker posee cierta cantidad de data structures (Estructuras de datos en español, de ahora en mas serán nombradas siempre data structures, acostumbrensen). Actualmente hay seis tipos de data structures disponibles: stacks, queues, lists, maps, priority queues y grids. Cada uno con sus funciones y ventajas.

Todas las data structures funcionan globalmente igual. Puedes crear una data structure con una función que devuelve su id. Luego usas este id para ejecutar ciertas operaciones de las data structures. Una vez que no necesites mas la data structure la puedes eliminar liberando memoria. Puedes usar la cantidad de data structures que quieras al mismo tiempo, si así lo deseas. Todas las data structures pueden guardar ambos, strings y valores reales.

Tenga en cuenta que toda la información que contengan las data structures no serán guardadas cuando el juego sea guardado usando las funciones para eso. Si deseas guardar información de las data structures deberá usar su propio mecanismo de guardar/cargar juego.

Cuando se comparen valores, por ejemplo cuando estés buscando en un mapa, u ordenando una lista, Game Maker debe decidir que hacer cuando 2 valores son iguales. Para números enteros o textos, esto es claro, pero cuando son números reales, no lo es debido a los errores de redondeo. Por ejemplo (5/3)*3 no será igual a 5. Para evitar esto, la presición es usada. Cuando la diferencia entre 2 números es mas pequeña que la presición usada, estos números se consideran iguales. La presición por defecto es 0.0000001. Puedes cambiar la presición usada con la siguiente función:

ds_set_precision(prec) Fija la presición usada para comparaciones en Data Structures.

Nota: Esta presición es SOLAMENTE usada en data structures.

Información sobre data structures puede ser encontrada en las siguientes páginas:

Stacks
Queues
Listas
Mapas
Priority Queues
Grids