Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: ¿como automatizar código?[solucionado]  (Leído 426 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado dixon2010

en: Diciembre 14, 2018, 12:30:48 am
Tengo el siguiente código modelo:
Código: [Seleccionar]
conjunto=x;
Necesito repetir ese código modelo cambiando la palabra “conjunto” por otros términos de la siguiente manera.
Código: [Seleccionar]
simbolos =x;
fracciones =x;

Para automatizar este código uso el siguiente código:
Código: [Seleccionar]
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?.
« última modificación: Diciembre 15, 2018, 07:12:25 pm por dixon2010 »

Dios nos ayuda y nos da sabiduría para vivir. Cáda código es una obra maestra que hay que respetar aunque exista un código mas eficiente y sencillo.
 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado Black_Cat

Respuesta #1 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

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

for(i=1;i<=2;i+=1)
{if (grupo[i] == "simbolos")
          scr_asignar(var_simbolos, x)
  if (grupo == "fracciones")
          scr_asignar(var_fracciones, x)
}
[/i]

O bien , crear un array, en el cual cada indice indique una variable:
ev_create
[i]
grupos[0]=0 //corresponde a conjunto
grupos[1]=0 //corresponde a simbolos
grupos[2]=0 //corresponde a fracciones
[/i]

luego
[i]
for(i=1;i<=2;i+=1)
{
          scr_asignar(grupos, x)
}
[/i]


esas son las ideas que se me ocurren de momento.


 
Los siguientes usuarios dieron las gracias a este tema: dixon2010


Desconectado bygdle

  • Flota de Justicia Particular.
  • Moderadores globales
  • Okupa
  • *
  • Puntos: 2835
  • Mensajes: 1.710
  • Agradecido: 146 veces
  • Sexo: Masculino
  • Thomas the dank engine.
    • Ver Perfil
Respuesta #2 en: Diciembre 14, 2018, 03:14:54 am
Una manera fácil sería utilizar mapas de datos.
///EN ALGÚN EVENTO QUE EJECUTES PRIMERO
globalvar datos;
datos = ds_map_create();
///DONDE QUIERAS ASIGNAR LOS DATOS
grupo[1] = 'simbolos';
grupo[2] = 'fracciones';
for(var i = 1; i <= 2; i += 1) {
    datos[? grupo[i]] = x;
}
Y para leer la información harías esto:
show_message(  datos[? 'simbolos']   );

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

alaberga regué el café.

BA:STFW&RTFM
 
Los siguientes usuarios dieron las gracias a este tema: dixon2010