Código
Escena 1 actions for fotograma 1 // Situación inicial. BaseVS = 10; // Guardar Situación inicial. SitID = "S"+BaseVS; set (SitID+"VS", BaseVS); set (SitID+"C", "Ninguno"); C = 1; // Variables de Unsolved situaciones. U = 0; Us = 0; actions for fotograma 2 // Reset Situación. Aplicación. VS = BaseVS+C; // ¿Sol? if (20<VS) { // Solución; iniciar mostrar lista. List = C; gotoAndPlay (4); // Sino ¿la situación está anotada? } else if (eval("S"+VS+"VS") == undefined) { // No. Anotarla. SitID = "S"+VS; set (SitID+"VS", BaseVS); set (SitID+"C", C); Us = Us+1; SitID = "U"+Us; set (SitID+"VS", VS); } actions for fotograma 3 // La situación existe. ¿Modificar candidato es posible? if (C<2) { // Modificación de candidato. C = C+1; gotoAndPlay (2); } else if (U<Us) { // Usar Unsolveds. U = U+1; BaseVS = eval("U"+U+"VS"); C = 1; gotoAndPlay (2); } else { // No hay Solución. stop (); } actions for fotograma 5 SitID = eval("S"+BaseVS+"C"); BaseVS = eval("S"+BaseVS+"VS"); if (SitID != "Ninguno") { List = SitID+" "+List; gotoAndPlay (4); } else { stop (); }
Se divide en 2 partes:
1- Fotogramas 2y3: Obtención de situaciones y cómo llegar a ellas.
2: Fotogramas 4y5: Mostrar lista de acciones.
Es como si hubiera un objeto en el casillero 10 y lo quiero llevar a más de 20 usando movimientos +1 o +2. El resultado es 1 2 2 2 2 2, o sea llega a 21 (10+1+2*5=21).
Ahora quiero hacer que use números decimales, pero algo falla en mi nuevo código:
Código
Escena 1 actions for fotograma 1 // Situación inicial. BaseVS = 1; // Guardar Situación inicial. SitID = "S"+BaseVS; set (SitID+"VS", BaseVS); set (SitID+"C", "Ninguno"); C = 0.1; // Variables de Unsolved situaciones. U = 0; Us = 0; actions for fotograma 2 // Reset Situación. Aplicación. VS = BaseVS+C; // ¿Sol? if (2<VS) { // Solución; iniciar mostrar lista. List = C; gotoAndPlay (4); // Sino ¿la situación está anotada? } else if (eval("S"+VS+"VS") == undefined) { // No. Anotarla. SitID = "S"+VS; set (SitID+"VS", BaseVS); set (SitID+"C", C); Us = Us+1; SitID = "U"+Us; set (SitID+"VS", VS); } actions for fotograma 3 // La situación existe. ¿Modificar candidato es posible? if (C<0.2) { // Modificación de candidato. C = C+0.1; gotoAndPlay (2); } else if (U<Us) { // Usar Unsolveds. U = U+1; BaseVS = eval("U"+U+"VS"); C = 0.1; gotoAndPlay (2); } else { // No hay Solución. stop (); } actions for fotograma 5 trace ("BaseVS= "+BaseVS); trace ("String BaseVS= "+String(BaseVS)); trace ("C= "+C); trace ("VS= "+VS); SitID = eval("S"+BaseVS); SitID = eval(SitID+"C"); trace ("SitID= "+SitID); trace ("loading S"+BaseVS+"C"+" or SitID= "+SitID); BaseVS = eval("S"+BaseVS); BaseVS = eval(BaseVS+"VS"); trace ("loading S"+BaseVS+"VS"+" or BaseVS= "+SitID); if (SitID != "Ninguno") { List = SitID+" "+List; gotoAndPlay (4); } else { stop (); }
Creo que en el frame 5. Dividí en 2 partes los eval de ese frame porque me daban resultados en blanco, creo que porque por ejemplo S2.1C se interpretaría como la variable 1C dentro de un objeto S2 (que no existe y para colmo creo que el nombre de una variable no puede iniciar con un número). Aunque no estoy seguro de que lo nuevo funcione bien, ya que sigue dando un error. El programa siempre carga la misma situación, no la "madre" de ella, y la lista es 0.2 0.2 0.2... interminable.