elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Temas
Páginas: 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15
111  Foros Generales / Foro Libre / ¿Orden de tokyo juushouden? en: 10 Noviembre 2019, 03:20 am
Vi esto
https://www.youtube.com/watch?v=gF58CO3aq80
y quiero ver más.

Descargué por ahí algo pero parece una continuación mucho tiempo después. Al principio spoilean el final de lo anterior parece.

Tras traducir el artícula japonés de wikipedia:
https://ja.wikipedia.org/wiki/%E5%80%92%E5%87%B6%E5%8D%81%E5%B0%86%E4%BC%9D#OVA
Veo que tienen:
Un OVA en 1999, pero no sé si es 1, 2, no sé.
Una continuación en 2001.
Por ahí mencionan un CD de drama y me perdí.

Para colmo parece que el título original es
tokyo juushouden

Luego dice que son 6 ovas pero si es como pienso en el medio hay un hueco enorme. Además cambió el estilo de dibujo, el 1ero era más sombrío.

¿Está tan cortado?
112  Programación / Programación General / (Solucionado) Variar números en A arrays. en: 5 Noviembre 2019, 18:29 pm
Esto varía los números en 1 array:
Código:
C = new Array(1, 1, 1);
Max = 10;

// Solcheck
if (C[1]<C[0]) {
    // Sol
    stop ();
}

// Candmod
W = 1;
SenaladordeP = 2;
do {
    if (C[SenaladordeP]<Max) {
        C[SenaladordeP] = C[SenaladordeP]+1;
        W = 0;
    } else {
        C[SenaladordeP] = 1;
        if (0 < SenaladordeP) {
            SenaladordeP = SenaladordeP-1;
        } else {
            // No hay Sol o está más allá del Max.
            stop ();
        }
    }
} while (W==1);
gotoAndPlay (2);

Intentando variar A arrays (en este ejemplo A=2) hice esto:
Código:
C1 = new Array(1, 1, 1);
C2 = new Array(1, 1, 1);
Max = 10;

trace (C1+" "+C2);
// Solcheck
if (C1[0]<C2[0]) {
    // Sol
    stop ();
}

// Candmod
W = 1;
SenaladordeC = 2;
SenaladordeP = 2;
do {
    if (eval("C"+SenaladordeC+"["+SenaladordeP+"]")<Max) {
        trace (eval("C"+SenaladordeC+"["+SenaladordeP+"]"));
        set ("C"+SenaladordeC+"["+SenaladordeP+"]", eval("C"+SenaladordeC+"["+SenaladordeP+"]")+1);
        W = 0;
    } else {
        set ("C"+SenaladordeC+"["+SenaladordeP+"]", 1);
        if (0<SenaladordeP) {
            SenaladordeP = SenaladordeP-1;
        } else {
            SenaladordeP = 2;
            if (1<SenaladordeC) {
                SenaladordeC = SenaladordeC-1;
            } else {
                // No hay Sol o está más allá del Max.
                stop ();
            }
        }
    }
} while (W == 1);
gotoAndPlay (2);
El contenido de los arrays debería variar más o menos así:
Citar
// Cambio 1:
C1 = 1, 1, 1
C2 = 1, 1, 2
// Cambio 2:
C1 = 1, 1, 1
C2 = 1, 1, 3
Como si fuesen 6 cifras, que en vez de ser del 0 al 9 fuesen del 1 al 10.
El problema es que el intérprete o lo que sea, cuando por ejemplo le digo:
set ("C"+SenaladordeC+"["+SenaladordeP+"]", eval("C"+SenaladordeC+"["+SenaladordeP+"]")+1);
...lo que hace es crear variables llamadas C2[SenaladordeP], es decir, C2[2], C2[1] y C2[0]. Más claro:
Citar
Level #0:
  Variable _level0.$version = "WIN 5,0,32,0"
  Variable _level0.C1 = [object #1] [
    0:1,
    1:1,
    2:1
  ]
  Variable _level0.C2 = [object #2] [
    0:1,
    1:1,
    2:1
  ]
  Variable _level0.Max = 10
  Variable _level0.W = 0
  Variable _level0.SenaladordeC = 2
  Variable _level0.SenaladordeP = 2
  Variable _level0.C2[2] = 8
  Variable _level0.C2[1] = 3
  Variable _level0.C2[0] = 1
En vez de variar las partes del array, o sea C2[2], C2[1] y C2[0], me crea y varía variables con esos mismos nombres. No puedo hacer referencia a contenidos de array porque lo interpreta como si fuese referencia a una variable llamada igual que una referencia a array. Pero yo no cree esas variables.

Tal vez el problema es usar set (aunque no hubo problema en el 1er código) o habría que modificar la referencia en el eval (quitar comillas, poner comillas, no sé).

¿Ideas?

El programa es Macromedia Flash 5, que usa una vieja versión de Action Script. Puede que el error sea cosa de dicho programa/lenguaje, aunque imagino que es posible alguna solución que no sea cambiar de programa/lenguaje.

Gracias.
113  Programación / Programación General / (Solucionado) S strings variando su contenido. en: 27 Octubre 2019, 05:44 am
Por problemas emocionales me cuesta concentrarme y además esto está difícil.

Esto es variar 1 variable número:
Código:
C = 1;

// Candmod
C = C+1;

gotoAndPlay (2);
Pueden usar do while, en los siguientes también. En estos códigos una línea en blanco representa un paso, como en Basic. En algunos casos uso varios pasos para que ninguno sea especialmente largo (ocurre si tienen do while).

Esto es variar 2 variables número:
Código:
C1 = 1;
C2 = 1;
Max = 10;

    if (C2<Max) {
        C2 = C2+1;
    } else if (C1<Max) {
        C2 = 1;
        C1 = C1+1;
    } else {
        stop ();
    }
}

gotoAndPlay (2);
Aquí hay un tope, pero tengo idea de cómo mejorar eso, no es el tema.

Esto es variar V variables número; en este caso V es 3 (se llama Parte).
Código:
C1 = 1;
C2 = 1;
C3 = 1;
Max = 10;

    Parte = 3;

if (eval("C"+Parte)<Max) {
    // Si el C señalado no está al máximo, aumenta
    set ("C"+Parte, eval("C"+Parte)+1);
    // Listo.
    gotoAndPlay (2);
}

// El C señalado no puede aumentar, se resetea
set ("C"+Parte, 1);
if (1<Parte) {
    // Hay un C anterior, se señala
    Parte = Parte-1;
    // Ver si el C señalado puede aumentar
    gotoAndPlay (3);
} else {
    stop ();
}

Esto es variación de 1 string:
Código:
// A~Z pero no Ñ
Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
CP1 = -1;
CLargo = 1;

W = 1;
Parte = CLargo;
do {
    if (eval("CP"+Parte)<25) {
        set ("CP"+Parte, eval("CP"+Parte)+1);
        W = 0;
    } else {
        set ("CP"+Parte, 0);
        if (1<Parte) {
            Parte = Parte-1;
        } else {
            CLargo = CLargo+1;
            set ("CP"+CLargo, 0);
            W = 0;
        }
    }
} while (W == 1);

// Concatenar.
C = "";
Parte = 0;
do {
    Parte = Parte+1;
    C = C+Chars.charAt(eval("CP"+Parte));
} while (Parte<CLargo);
gotoAndPlay (2);
Probablemente usarían un array para esto, yo no quiero.

Variación de 2 strings:
Código:
// A~Z pero no Ñ
Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
C1P1 = 0;
C1Largo = 1;
C1 = "A";
C2P1 = 0;
C2Largo = 1;
C2 = "A";
Max = "ZZ";
function CandMod () {
    W = 1;
    Parte = eval("C"+Up+"Largo");
    do {
        if (eval("C"+Up+"P"+Parte)<25) {
            set ("C"+Up+"P"+Parte, eval("C"+Up+"P"+Parte)+1);
            W = 0;
        } else {
            set ("C"+Up+"P"+Parte, 0);
            if (1<Parte) {
                Parte = Parte-1;
            } else {
                set ("C"+Up+"Largo", eval("C"+Up+"Largo")+1);
                set ("C"+Up+"P"+eval("C"+Up+"Largo"), 0);
                W = 0;
            }
        }
    } while (W == 1);
}

    // ¿qué Cand variar?
    if (C2 != Max) {
        Up = 2;
        CandMod();
    } else if (C1 != Max) {
        C2P1 = 0;
        C2Largo = 1;
        C2 = "A";
        Up = 1;
        CandMod();
    } else {
        stop ();
    }

// Concatenar.
set ("C"+Up, "");
Parte = 0;
do {
    Parte = Parte+1;
    set ("C"+Up, eval("C"+Up)+Chars.charAt(eval("C"+Up+"P"+Parte)));
} while (Parte<eval("C"+Up+"Largo"));
gotoAndPlay (2);

Variación de S strings es lo que estuve pensando (desconcentrándome porque estoy con la cabeza en otro lado) por horas ya.
Básicamente hay que "copiar" el método usado en 3 nums, pero como acá hay muchas más cosas no sé bien cómo. De momento agregué esto:
Código:
C3P1 = 0;
C3Largo = 1;
C3 = "A";
Max = "ZZ";
CtoUp = 3;

Y supongo que en vez de esto:
Código:
   // ¿qué Cand variar?)
    if (C2 != Max) {
        Up = 2;
        CandMod();
    } else if (C1 != Max) {
        C2P1 = 0;
        C2Largo = 1;
        C2 = "A";
        Up = 1;
        CandMod();
    } else {
        stop ();
    }
Debería hacer algo como que si "C"+CtoUp != Max entonces lo dicho aumenta (y ya se produce la variación), sino si CtoUp puede bajar se resetea lo relativo a C, CtoUp baja y el proceso que estoy describiendo debería repetirse, y sino stop.
Puede ser que sea eso. Tal vez, más que la solución o el código, me haría falta algo bastante distinto a como lo hice, o algo para no entreverarme tanto.

Como ven aún no apliqué soluciones a ordenar con Ñ, por ahora no me voy a complicar con eso.

Gracias.
114  Programación / Programación General / ¿Cómo ordenar por abecedario si el lenguaje considera que Z<Ñ? en: 20 Octubre 2019, 17:54 pm
Sólo estoy usando mayúsculas.

Si al programa le doy un texto C y quiero que el programa analice si el texto es mayor (es decir si en el abecedario está después) que "ZY", wait, creo que ya sé:
Z es considerado < Ñ.
Entonces hago:
Código:
Si "ZY" < C
  Si el Char0 de C es "Ñ"
    // C < "ZY"
  sino si el Char0 de C es "Z"
    Si el Char1 de C es "Ñ"
      // C < "ZY"
    sino si el Char1 de C es "Y"
      Si el Char2 de C no es Void/Null/undefined (debo ver cómo le llama mi lenguaje)
        // C == "ZY"
      sino
        // "ZY" < C

O:
Código:
Si "ZY" < C
  Si el Char0 de C es "Ñ"
    // C < "ZY"
  sino si el Char0 de C es "Z"
    Si el Char1 de C es "Ñ"
      // C < "ZY"
    sino si el Char1 de C es "Y"
      Si C == "ZY"
        // C == "ZY"
      sino
        // "ZY" < C

¿Correcto?

Ahora, si en vez de "ZY" fuese un texto variable, así como su cantidad de caracteres ¿cómo haría? Entiendo que debo usar un while pero el hecho de que pueda tener Ñ el texto también me complica un poco.
115  Foros Generales / Sugerencias y dudas sobre el Foro / Las reglas son muy largas. en: 20 Octubre 2019, 17:10 pm
En mi última participación hace como 1 mes dije a mod "luego leo las reglas" y como no tenía ganas de leerlas no he vuelto a participar hasta ahora que quiero hacer una consulta bastante completa, y estaba dispuesto a leer las reglas.

Las busqué en palabras arriba, en la zona que está anterior al foro, en el FAQ del foro, hasta que cansado fui a ver el mensaje del mod del que hablé, el cual las tiene en la firma. Luego vi que estaban en otro lado aunque con unas siglas un tanto extrañas; yo con mis ojos buscaba rápido algo similar a "Reglas del foro" y que estuviera con negrita o algo.
Está aquí
https://foro.elhacker.net/sugerencias_y_dudas_sobre_el_foro-b10.0/
pero entreverado con muchos otros temas que no parecen tan relevantes.

El link "Leer reglas" de simorg me lleva aquí
https://foro.elhacker.net/reglas.htm
que me parece una versión más cómoda de leer. Más rápida en cargarse y demás.

Y así empieza:
"Solamente una vez leído, entendido, aceptada plenamente la declaración (no permitiéndose aceptaciones parciales o condicionales) y cumpliendo todas las condiciones expresadas a continuación se podrá permanecer en esta  web, en caso contrario usted tiene prohibido el acceso a este lugar y el uso de la misma por lo que deberá salir inmediatamente de elhacker.net."

Yo podría hacerme el olvidadizo o despistado, y seguir como si nada, pero quiero ser sincero y blablabla (justo y no sé qué más) y decir que no leeré todo lo demás que está escrito ahí, porque me parece demasiado largo.

¿Entonces...?



 Podrían decir algo como "En caso de que ud no las cumpla, dependiendo de la gravedad de la infracción, sus post pueden ser movidos, borrados, ud baneado o su cuenta eliminada".
Eso daría la opción legal de permanecer sin leerlas y atenerse a las consecuencias, que me imagino no son tan graves, no es "el punto 2000 dice que si hablas a favor de Bill Gates empezaremos a enviarte un virus a cada rato", así que no me preocupan mucho las consecuencias, no soy un santo pero tampoco creo que merezca algo tan malo, ni que las reglas digan que deba recibirlo; confío en el sentido común.

Participo en otro foro donde no hay reglas casi y es un desastre, pero tampoco es que yo sea tan quisquilloso.
116  Foros Generales / Foro Libre / Adivina de dónde es mi avatar. en: 28 Septiembre 2019, 00:31 am
Y de paso me dicen si es muy pesado o algo.

Por cierto, como veo esta página en zoom 175% los avatars no entran en mi pantalla, o sea, el espacio que destina a ellos no aumenta, así que me aparecen barras desplazadoras. No me parece muy bien eso en el foro, en otros creo que no me pasa, pero bue.
117  Programación / Programación General / ¿Cómo harías esto en el lenguaje en que prefieras hacerlo? en: 27 Septiembre 2019, 08:38 am
Describiré una forma de hacerlo aunque creo que también se puede hacer con un árbol.

Parte 1:
Asignar una posición a un objeto. Por ejemplo el objeto O en 5 en el eje de las X.
Una posible acción es -1, o sea mover O hacia atrás. Esto es candidato, Cand.
La cantidad de situaciones nuevas no analizadas es 0. Us = 0
// Us viene de unsolved, no resuelto, que viene a ser más o menos como no analizada.
La cantidad de situaciones nuevas analizadas es 0. U = 0
// Us es el total, U marcará cual se está analizando de ese total.
Crear archivo cuyo nombre indique la posición de O y en su contenido diga que Cand es "Ninguno". O sea, para llegar a esta situación no se realizaron acciones desde otra, es la inicial.
// Nota: La situación inicial no cuenta en la cantidad de nuevas.

Parte 2:
Aplicar candidato en la situación, o sea, a OX sumarle Cand.
Si 7<OX
   // Solución hallada, ir a Parte MostrarLista.
sino si la situación no está registrada
   Crearla de modo similar a antes, pero el contenido debe marcar en qué situación se estaba antes (OX antes de modificarse), y qué Cand se aplicó.
   Us++
   Crear archivo "U"+Us, o sea, por ejemplo "U1", si Us es 1. El contenido debe ser OX, la situación nueva.
fin del si

Parte 3:
Si Cand < 1
   Cand+2
   // O sea, si el último movimiento fue -1, ahora cambia a +1. La pregunta es si queda alguna acción no realizada.
   Resetear la situación (o sea, OX debe volver al valor que tenía antes de que se le sumara Cand). Esto en realidad lo hago al inicio de la parte 2, pero es largo explicar cómo. Aquí también se puede.
   Ir a la Parte 2.
sino
   U++
   Cargar archivo U (esto implica modificar OX)
   Cand = -1, o sea, resetear Cand
   Ir a Parte 2
fin del si

Parte MostrarLista
Se agrega Cand en la lista, se carga el archivo OX, y así sucesivamente hasta que Cand sea "Ninguno", o sea, se carga un archivo, luego ese marca cual otro cargar, o sea qué situación hubo antes y qué se hizo en ella, y así sucesivamente hasta la 1er situación, a la cual no se llegó por otra. Lo que muestra es 1, 1, 1, o sea, para llegar de 5 a >7 se mueve 3 veces 1 a la derecha.

¿Qué sentido tiene eso?
El método es aplicable a casos más complejos pero quiero aprender a usarlo así que lo apliqué a algo muy simple.

Problemas que tengo al programarlo en Macromedia Flash 5:
- Cuando se da la instrucción de crear/cargar archivo, no se sabe cuando termina, por lo que hay que hacer comprobaciones y el código se hace mucho más largo y complicado de lo que debería.
- Al crear un archivo mediante código, se guardan todas las variables del LV0 (o sea las que no estén en objetos), por lo cual las que no se quieren guardar hay que ponerlas dentro de un objeto, lo cual estira y complica el code.
- Cuando hay una función en el lv0 y se crea un archivo mediante código, una variable extra se guarda en él, el nombre de la función, por ejemplo así:
&PreptoLoadSit=[type Function]&S=5&C=Ninguno
....en vez de:
&S=5&C=Ninguno
- Intenté poner funciones en objetos y llamarlas desde el LV0 pero no me funciona, por lo que, si no descubro alguna forma... tengo un montón de código repetido...

¿Por qué hago el tema?
Porque quiero ver cómo sería posible hacer más fácilmente lo que comenté.

El códogo:
Nota: Algunos nombres son distintos al del ejemplo. Creo que lo principal es que OX es S, que significa Situación pero en esencia es lo mismo.
Código:
Escena 1
   actions for fotograma 1
      // SitIni.
      Base.S = 5;
      // CandIni.
      Actual.C = -1;
      // Vars de Unsolved sits.
      Actual.U = 0;
      Actual.Us = 0;
      // Save iniSit y preparar comprobación.
      S = 5;
      C = "Ninguno";
      Loading.S = -1;
      Loading.C = -10;
      Loading.Cargas = 0;
      Loading.ArchID = "S"+S+".txt";
      fscommand ("save", Loading.ArchID);
   actions for fotograma 3
      Loading.Comps = 0;
      Loading.Cargas = Loading.Cargas+1;
      loadVariables (Loading.ArchID, "Loading");
   actions for fotograma 5
      Loading.Comps = Loading.Comps+1;
      Loading.Verif = 1;
      if (Loading.S != S) {
         Loading.Verif = 0;
      } else if (Loading.C != C) {
         Loading.Verif = 0;
      }
      if (Loading.Verif == 0) {
         if (Loading.Comps == 10) {
            if (Loading.Cargas == 3) {
               fscommand ("save", "30 fallas en savecheck de "+Loading.ArchID);
               fscommand ("quit");
            } else {
               // reload.
               gotoAndPlay (3);
            }
         } else {
            // retry.
            gotoAndPlay (4);
         }
      }
   actions for fotograma 6
      // Reset Sit. Aplic.
      Actual.S = Base.S+Actual.C;
      // ¿Sol?
      if (7<Actual.S) {
         // Sol; begin loads to show list
         List = Actual.C;
         gotoAndPlay (26);
      } else {
         // ¿Sit exist?
         Loading.Cargas = 0;
         Loading.S = -1;
         Loading.C = -10;
         Loading.ArchID = "S"+Actual.S+".txt";
      }
   actions for fotograma 7
      Loading.Comps = 0;
      Loading.Cargas = Loading.Cargas+1;
      loadVariables (Loading.ArchID, "Loading");
   actions for fotograma 9
      Loading.Comps = Loading.Comps+1;
      Loading.Verif = 1;
      if (Loading.S == -1) {
         Loading.Verif = 0;
      } else if (Loading.C == -10) {
         Loading.Verif = 0;
      }
      if (Loading.Verif == 0) {
         if (Loading.Comps == 10) {
            if (Loading.Cargas == 3) {
               // La Sit parece no existir, crearla.
               S = Base.S;
               C = Actual.C;
               Loading.Cargas = 0;
               Loading.ArchID = "S"+Actual.S+".txt";
               gotoAndPlay (15);
            } else {
               // reload.
               gotoAndPlay (7);
            }
         } else {
            // retry.
            gotoAndPlay (8);
         }
      }
   actions for fotograma 10
      // La sit existe. ¿Candmod is pos?
      if (Actual.C<1) {
         // Candmod.
         Actual.C = Actual.C+2;
         // Reset sit, then Aplic.
         gotoAndPlay (6);
      } else {
         // Load UnsSit.
         Actual.U = Actual.U+1;
         Loading.Cargas = 0;
         Base.S = -1;
         Loading.ArchID = "U"+Actual.U+".txt";
      }
   actions for fotograma 11
      Loading.Comps = 0;
      Loading.Cargas = Loading.Cargas+1;
      loadVariables (Loading.ArchID, "Base");
   actions for fotograma 13
      if (Base.S == -1) {
         Loading.Comps = Loading.Comps+1;
         if (Loading.Comps == 10) {
            if (Loading.Cargas == 3) {
               fscommand ("save", "30 fallas en loading "+Loading.ArchID);
               fscommand ("quit");
            } else {
               // reload.
               gotoAndPlay (11);
            }
         } else {
            // retry.
            gotoAndPlay (12);
         }
      }
   actions for fotograma 14
      Base.S = Number(Base.S);
      // Reset Cand. Aplic.
      Actual.C = -1;
      gotoAndPlay (6);
   actions for fotograma 15
      // Creando Sit.
      fscommand ("save", Loading.ArchID);
   actions for fotograma 17
      Loading.Comps = 0;
      Loading.Cargas = Loading.Cargas+1;
      loadVariables (Loading.ArchID, "Loading");
   actions for fotograma 19
      Loading.Comps = Loading.Comps+1;
      Loading.Verif = 1;
      if (Loading.S != S) {
         Loading.Verif = 0;
      } else if (Loading.C != C) {
         Loading.Verif = 0;
      }
      if (Loading.Verif == 0) {
         if (Loading.Comps == 10) {
            if (Loading.Cargas == 3) {
               fscommand ("save", "30 fallas en savecheck de "+Loading.ArchID);
               fscommand ("quit");
            } else {
               // reload.
               gotoAndPlay (17);
            }
         } else {
            // retry.
            gotoAndPlay (18);
         }
      }
   actions for fotograma 20
      // Save UnsSit.
      delete C;
      S = Actual.S;
      Actual.Us = Actual.Us+1;
      Loading.S = -1;
      Loading.Cargas = 0;
      Loading.ArchID = "U"+Actual.Us+".txt";
      fscommand ("save", Loading.ArchID);
   actions for fotograma 22
      Loading.Comps = 0;
      Loading.Cargas = Loading.Cargas+1;
      loadVariables (Loading.ArchID, "Loading");
   actions for fotograma 24
      if (Loading.S == -1) {
         Loading.Comps = Loading.Comps+1;
         if (Loading.Comps == 10) {
            if (Loading.Cargas == 3) {
               fscommand ("save", "30 fallas en savecheck de "+Loading.ArchID);
               fscommand ("quit");
            } else {
               // reload.
               gotoAndPlay (22);
            }
         } else {
            // retry.
            gotoAndPlay (23);
         }
      }
   actions for fotograma 25
      // ¿Candmod is pos?
      gotoAndPlay (10);
   actions for fotograma 26
      S = Base.S;
      Loading.Cargas = 0;
      Base.S = -1;
      Base.C = -10;
      Loading.ArchID = "S"+S+".txt";
   actions for fotograma 27
      Loading.Comps = 0;
      Loading.Cargas = Loading.Cargas+1;
      loadVariables (Loading.ArchID, "Base");
   actions for fotograma 29
      Loading.Comps = Loading.Comps+1;
      Loading.Verif = 1;
      if (Base.S == -1) {
         Loading.Verif = 0;
      } else if (Base.C == -10) {
         Loading.Verif = 0;
      }
      if (Loading.Verif == 0) {
         if (Loading.Comps == 10) {
            if (Loading.Cargas == 3) {
               fscommand ("save", "30 fallas en loading "+Loading.ArchID);
               fscommand ("quit");
            } else {
               // reload.
               gotoAndPlay (27);
            }
         } else {
            // retry.
            gotoAndPlay (28);
         }
      }
   actions for fotograma 30
      if (Base.C != "Ninguno") {
         List = Base.C+" "+List;
         gotoAndPlay (26);
      } else {
         stop ();
      }

Gracias.
118  Programación / Programación General / ¿Alguien entiende esto? ¿consejos? ¿automatizarlo? en: 12 Septiembre 2019, 07:40 am
Mandenlo a foro libre si creen que no encaja aquí. Disculpas.

Hoja 1:


Hoja 2:
http://img.fenixzone.net/i/cPEuSvM.jpeg

Son 4, cada una más larga y ancha que la anterior, así que no pondré más imágenes sino un link a descargar el archivo xls (de Excel):
https://filebin.net/5fy1ibnqsfbnimsw/IAs_Base5.xls?t=fc1w5k8m

Se llama IAs Base5.xls. Si les aparece otra cosa cancelen o borren, lo digo porque no sé cuan confiable es esa página.

Si tienen problema para ver el archivo y conocen una mejor forma de que se los pueda mostrar, díganme.

Quien lo vea, dígame qué cree que es (más allá de ser una tabla de Excel y lo ya dicho, claro), cual es la dinámica, el patrón, lo que sea.
También puede hacer eso quien sólo quiera ver las imagenes.

Quien entienda o crea entender lo que estoy haciendo, dígame consejos sobre eso y cómo automatizar en la medida de lo posible lo que ahí se hace.

Gracias.


Edit:
Preguntas bienvenidas.

En algunos casos hay contenidos más grandes que las celdas y que son tapados por otros, o sea que en las imagenes algunos contenidos no se pueden leer completamente pero en el archivo sí.
En rojo:
Ya hay una SS sin uso
Ya hay un Cand sin uso

En la imagen 2, abajo del cuadro celeste en la columna de SS hay una a que es un error. Igual, lo que está impedido de verse se puede ver más abajo repetido.
119  Programación / Programación General / ¿Medir variación de una serie? ¿obtener máxima variación? en: 9 Septiembre 2019, 06:02 am
Creo que es más una duda matemática o de "algo" que de programación, pero un programa podría resolverla.

Supongamos que tengo un equipo de fútbol conformado por Alejandro, Beto, etc, ABCDEFGHIJK, o sea, cada letra representa a cada jugador y también está representado qué número tiene.

Ahora, yo quisiera variar las posiciones de los jugadores todo lo posible, aunque sin variar la formación (como 3-4-3).

Una respuesta que llega a la mente es KJIHGFEDCBA, pero ahí todos los jugadores están al lado de los mismos que antes, y su distancia hacia el centro también es la misma, por lo que no creo que esa sea la máxima variación.

Quisiera el pseudocódigo que la obtenga.

O un método para medir la variación de una serie, una vez que se plantea como posible respuesta.

Gracias.
120  Programación / Programación General / ¿Cómo es un pseudocódigo que varíe una afirmación? en: 12 Agosto 2019, 13:06 pm
Es decir, que la salida sea algo así:
Código:
Sin modificadores:
K < C
Con +:
K < C+K
C < C+K
Con *:
K < C*K
C < C*K
Con + y *:
K*C < C+K
K < (C+K)*K
K < (C+K)*C
C < (C+K)*K
C < (C+K)*C
C+K < (C+K)*K
C+K < (C+K)*C
K < C*K+K
K < C*K+C
C < C*K+K
C < C*K+C
C*K < C*K+K
C*K < C*K+C
Y creo que sigue, por ejemplo K*C+K < C+K

Luego se agregaría "Con /" y así sucesivamente con cada operación que pueda realizarse en 1 línea de código, es decir, se acepta por ejemplo Floor(C), usar una función "común", pero no crear una. En otras palabras, Floor(C) se puede aplicar en una línea de código, dentro de un if por ejemplo, pero no se acepta por ejemplo Contar0s(C) porque sería una función creada.

C es una variable (abreviación de "Candidato") y K es una constante.

El signo comparador no me interesa vararlo por ahora.

Bueno... ¿qué lógica hay en la lista? Pues... básicamente es combinatoria de C, K y operaciones... tratando de que ciertas combinaciones no se muestren, pero uds hagan lo que puedan...

Idealmente sería:

- No se permite K+K, K*K, etc, porque estructuralmente hablando el resultado de eso es simplemente K, es decir, no le veo sentido a que se repita (Nota) por ejemplo la operación 2+2 si puedo poner simplemente 4.
Nota: Las afirmaciones que se muestran en la salida podrían ser usadas para evaluarse en otros programas, en cuyo caso habría repeticiones; con "repita" me refería a eso.

- No se permite C+C, C*C, C/C, ni cosas que son abarcables por K, es decir, C+C=C*2, C*C=C^2, C/C=1. Los números constantes pueden ser sustituídos por K... C+C=C*K, etc. El punto es que no tiene sentido poner en la lista cosas que están abarcadas por otras cosas de la lista.

- No se permiten estructuras con contenido igual en ambos lados. Las he quitado pero si me quedó alguna sorry.

- El signo "-" me pareció innecesario ya que K puede ser negativo, pero si uds creen que es necesario en algo como *-C en alguna parte, úsenlo. La idea de esto es que estén todas las estructuras de modificaciones posibles, no sé mucho de matemática así que no sé bien cuales serían.

- No se permiten afirmaciones que tras un "reflejo" sean iguales a otras de la lista. Por ejemplo K < C, más allá del símbolo comparador, es igual que C < K, estructuralmente: Hay una K suelta de un lado y una C del otro, de qué lado sea no me importa aquí. Como dije estas afirmaciones podrían ser usadas por otros programas, aunque yo las seleccionaría, y para eso me basta con ver la estructura, y sabiendo que no están las "reflejables" si quisiera una de esas reflejo una de las que hay. Obviamente no es una explicación muy profunda pero tampoco viene mucho al caso entender por qué lo quiero así. Bueno... es que la selección que haría sería en base a lo compleja de la estructura por lo que me da igual si es "A y B" o "B y A".

- No se permite lo simplificable, por ejemplo "(C+C)", es decir, con paréntesis que sobran. No sé más allá de paréntesis si hay algo más que no haya sido explicado y prohibido antes.

Bueno... con respecto a las operaciones, de momento serían estas:
+x
-x
*x
/x
Math.abs(x)
Math.ceil(x)
Math.floor(x)
Math.pow(x, x2)
Math.round(x)
Math.sqrt(x)

En x iría cualquier cosa que incluya C o K

No recuerdo si con pow se puede hacer sqrt, en tal caso sqrt podría ser innecesario.

Gracias y suerte en pila.

Sí, no es para un trabajo, profesor, etc, a menos que alguien espere algo de mí y me pague en cierto modo por ello, quizá algún familiar, no sé, pero daré el crédito al que me ayude. Y digo "suerte en pila" porque no tengo mucha idea de cómo hacerlo, al menos de momento. Tengo un programa que genera todas las palabras posibles, quizá cambiando "A" por "+K" por ejemplo, y así sucesivamente, podría transformarlo en un generador de las combinaciones que necesito... ¿Creen que sí?
Páginas: 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines