Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: dixon2010 en Diciembre 14, 2018, 12:30:48 AM

Título: ¿como automatizar código?[solucionado]
Publicado por: dixon2010 en Diciembre 14, 2018, 12:30:48 AM
Tengo el siguiente código modelo:
conjunto=x;

Necesito repetir ese código modelo cambiando la palabra "conjunto" por otros términos de la siguiente manera.
simbolos =x;
fracciones =x;


Para automatizar este código uso el siguiente código:
grupo[1]="simbolos";
grupo[2]="fracciones";
for(i=1;i<=2;i+=1)
{
str= 'conjunto=x';
str=string_replace_all(str,"conjunto",grupo[i]);
execute_string(str2);
}


Pero Game Maker studio 1 y 2 no aplica execute_string(str);
¿que puedo hacer?.
Título: Re:¿como automatizar código?
Publicado por: Black_Cat en Diciembre 14, 2018, 02:02:25 AM
Dado que no hay un equivalente en las nuevas versiones, tendrias que hacer la asignacion a mano con un script.

scr_asignar
[gml]

argument0 = argument1;
[/gml]
luego deberías usar una variable diferente para cada cosa:
[gml]

for(i=1;i<=2;i+=1)
{if (grupo == "simbolos")
          scr_asignar(var_simbolos, x)
  if (grupo == "fracciones")
          scr_asignar(var_fracciones, x)
}
[/gml]
O bien , crear un array, en el cual cada indice indique una variable:
ev_create
[gml]
grupos[0]=0 //corresponde a conjunto
grupos[1]=0 //corresponde a simbolos
grupos[2]=0 //corresponde a fracciones
[/gml]
luego
[gml]
for(i=1;i<=2;i+=1)
{
          scr_asignar(grupos, x)
}
[/gml]

esas son las ideas que se me ocurren de momento.
Título: Re:¿como automatizar código?
Publicado por: bygdle en Diciembre 14, 2018, 03:14:54 AM
Una manera fácil sería utilizar mapas de datos.
[gml]
///EN ALGÚN EVENTO QUE EJECUTES PRIMERO
globalvar datos;
datos = ds_map_create();
[/gml]
[gml]
///DONDE QUIERAS ASIGNAR LOS DATOS
grupo[1] = 'simbolos';
grupo[2] = 'fracciones';
for(var i = 1; i <= 2; i += 1) {
    datos[? grupo] = x;
}
[/gml]
Y para leer la información harías esto:
[gml]
show_message(  datos[? 'simbolos']   );
[/gml]

Más información:
http://docs.yoyogames.com/source/dadiospice/002_reference/data%20structures/ds%20maps/index.html