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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: 1 ... 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 [91] 92 93 94 95
901  Programación / Programación General / ¿Cómo programar mejor? en: 16 Noviembre 2018, 07:04 am
Quiero que un programa muestre todas las posibles combinaciones de 6 ítems pudiendo repetirse infinitamente. Ej:
1
2
3
4
5
6
1 1
1 2
1 3
1 4
etc

Pero quiero que las muestre en cierto orden. Supongamos que fuese así:
Nota: En vez de números se muestran ciertas palabras pero es que los números son convertidos en ellas.
WispG
ShadeG
ShadeG DryadG
DryadG
ShadeG AuraG
AuraG SalaG GnomeG
AuraG
ShadeG SalaG
AuraG GnomeG WispG
WispG ShadeG DryadG AuraG
SalaG
ShadeG GnomeG
AuraG GnomeG ShadeG
WispG ShadeG DryadG SalaG
SalaG GnomeG WispG ShadeG DryadG
GnomeG
DryadG WispG
AuraG GnomeG DryadG
WispG ShadeG DryadG GnomeG
SalaG GnomeG WispG ShadeG AuraG
AuraG SalaG GnomeG WispG ShadeG DryadG
DryadG ShadeG
AuraG GnomeG AuraG
WispG ShadeG AuraG WispG
SalaG GnomeG WispG ShadeG SalaG
AuraG SalaG GnomeG WispG ShadeG AuraG
AuraG SalaG GnomeG WispG ShadeG DryadG AuraG
etc
En realidad sería más bien así:
WispG
ShadeG
DryadG AuraG
DryadG
DryadG SalaG
GnomeG WispG ShadeG
es decir, cada vez que se crea un nuevo largo se inicia con el ítem (o número) más reciente +1.

Eso lo pude hacer:
Nota: Ignoren de él todo lo relativo a "Creative".
Código:
Escena 1
   actions for fotograma 1
      // Ítems.
      Item1 = "WispG";
      Item2 = "ShadeG";
      Item3 = "DryadG";
      Item4 = "AuraG";
      Item5 = "SalaG";
      Item6 = "GnomeG";
      // Parte 1 del experimento de largo 1.
      L1P1 = 0;
      // Último experimento de largo 1 que se hará.
      LastL1 = "GnomeG ";
      // Último ítem usado.
      RecentItem = 1;
      // Relativo al largo de los experimentos...
      // ...del método clásico.
      ClasicMinL = 1;
      ClasicActualL = 1;
      ClasicMaxL = 1;
      ClasicMaxLReached = 1;
      Info = "";
      function Concatenarytrace () {
         // Concatena las partes de los experimentos.
         Print = "";
         Cursor = 0;
         do {
            Cursor = Cursor+1;
            Print = Print+eval("Item"+eval("L"+ClasicActualL+"P"+Cursor))+" ";
         } while (Cursor<ClasicActualL);
         trace (Print);
         Info = "Func dice exp: "+Print+"\n"+Info;
      }
   actions for fotograma 2
      // Cursor indicará la parte última de un experimento.
      Cursor = ClasicActualL;
      Info = "F2: Cursor está en la última P de un exp, "+ClasicActualL+"\n"+Info;
   actions for fotograma 3
      if (eval("L"+ClasicActualL+"P"+Cursor)<6) {
         // Si el char es aumentable, aumenta.
         set ("L"+ClasicActualL+"P"+Cursor, eval("L"+ClasicActualL+"P"+Cursor)+1);
         Concatenarytrace();
         Info = "F3: Exp del método clásico creado fácil: "+Print+"\n"+Info;
         gotoAndPlay (6);
      }
   actions for fotograma 4
      // El char no es aumentable, ergo se resetea.
      set ("L"+ClasicActualL+"P"+Cursor, 1);
      if (1<Cursor) {
         // Si Cursor puede bajar, baja.
         Cursor = Cursor-1;
      } else {
         // Sino, se muestra el reseteado.
         Concatenarytrace();
         gotoAndPlay (6);
      }
   actions for fotograma 5
      if (eval("L"+ClasicActualL+"P"+Cursor)<6) {
         // Si el char es aumentable, aumenta.
         set ("L"+ClasicActualL+"P"+Cursor, eval("L"+ClasicActualL+"P"+Cursor)+1);
         Concatenarytrace();
         gotoAndPlay (6);
      } else {
         // Sino, se resetea y reinicia un proceso.
         gotoAndPlay (4);
      }
   actions for fotograma 6
      // Esto es aftertrace de clasic.
      if (Print == eval("LastL"+ClasicActualL)) {
         // Si el experimento mostrado es igual al grabado como último...
         // ...no se hacen más experimentos con ese largo.
         Info = "F6: Exps de largo "+ClasicMinL+" completados.\n"+Info;
         ClasicMinL = ClasicMinL+1;
      }
      if (CreativeL<=ClasicActualL && ClasicMaxL-1<=ClasicActualL) {
         // Si el largo del último experimento del método creativo...
         // ...es menor o igual al largo de este experimento clásico...
         // ...y ese es igual o mayor al máximo-1 que puede ser...
         // ..., Recentitem cambia.
         RecentItem = eval("L"+ClasicActualL+"P"+ClasicActualL);
         Info = "F6: RecentItem cambiado a "+RecentItem+"\n"+Info;
      }
      if (ClasicActualL<ClasicMaxL) {
         // Si el largo es aumentable, aumenta.
         ClasicActualL = ClasicActualL+1;
         Info = "F6: El siguiente exp de clasic será de Largo "+ClasicActualL+"\n"+Info;
      } else {
         // Sino, quedará al mínimo pero el máximo aumenta.
         ClasicMaxLReached = ClasicMaxL;
         Info = "F6: Clasic alcanzó su máximo L: "+ClasicMaxL+"\n"+Info;
         if (ClasicMaxL<7) {
            // Ese if es sólo para pruebas del code.
            ClasicMaxL = ClasicMaxL+1;
            Info = "F6: Clasic aumentó su máximo L a "+ClasicMaxL+"\n"+Info;
            if (CreativeL<ClasicMaxL) {
               // Si el método creativo no creó un experimento...
               // ...del largo alcanzado por el método clásico...
               // ..., crearlo (no se usará aún) y marcar que será...
               // ...el último experimento de ese largo.
               Info = "F6: Clasic llegó a un L mayor que creative: "+ClasicMaxL+" > "+CreativeL+"\n"+Info;
               set ("LastL"+ClasicMaxL, "");
               Cursor = 1;
               // Cálculo del ítem más recientemente usado.
               NextRecentItem = eval("L"+ClasicActualL+"P"+ClasicActualL);
               do {
                  NextRecentItem = NextRecentItem+1;
                  if (6<NextRecentItem) {
                     // Si resulta un ítem inexistente, arreglarlo.
                     NextRecentItem = NextRecentItem-((Math.floor(NextRecentItem/6))*6);
                  }
                  set ("L"+ClasicMaxL+"P"+Cursor, NextRecentItem);
                  set ("LastL"+ClasicMaxL, eval("LastL"+ClasicMaxL)+eval("Item"+NextRecentItem)+" ");
                  Cursor = Cursor+1;
               } while (Cursor<ClasicMaxL);
               set ("L"+ClasicMaxL+"P"+Cursor, NextRecentItem);
               set ("LastL"+ClasicMaxL, eval("LastL"+ClasicMaxL)+eval("Item"+NextRecentItem)+" ");
            }
         }
         ClasicActualL = ClasicMinL;
         Info = "F6: El siguiente exp de clasic será de Largo "+ClasicMinL+"\n"+Info;
         Info = "F6: Está listo el exp de máx L: "+eval("LastL"+ClasicMaxL)+"\n"+Info;
      }
      gotoAndPlay (2);
O sea, este programa produce la 2nda lista. Sería más correcto que produzca la 3era, pero lo que pasa es que este programa es parte de otro y no viene mucho al caso ver qué debería modificar para que produzca la 3era. Ya fue. Pero si ven algo que pueda simplificarse no duden en decirlo.

Entendidas las listas anteriores podemos pasar a la que me interesa. Es como la anterior pero en X circunstancias (no se preocupen por X) se produce otro método de selección: Creativo. Así:
WispG
Creativo:   ShadeG DryadG
ShadeG
ShadeG AuraG
Creativo:   SalaG GnomeG WispG
DryadG
ShadeG SalaG
SalaG GnomeG ShadeG
Creativo:   DryadG AuraG SalaG GnomeG
AuraG
ShadeG GnomeG
SalaG GnomeG DryadG
DryadG AuraG GnomeG WispG
Creativo:   ShadeG DryadG AuraG SalaG GnomeG
SalaG
DryadG WispG
SalaG GnomeG AuraG
DryadG AuraG GnomeG ShadeG
ShadeG DryadG AuraG GnomeG WispG
Creativo:   ShadeG DryadG AuraG SalaG GnomeG WispG
GnomeG
DryadG ShadeG
SalaG GnomeG SalaG
DryadG AuraG GnomeG DryadG
ShadeG DryadG AuraG GnomeG ShadeG
ShadeG DryadG AuraG SalaG GnomeG ShadeG
Creativo:   DryadG AuraG SalaG GnomeG WispG ShadeG DryadG
DryadG DryadG
SalaG GnomeG GnomeG
DryadG AuraG GnomeG AuraG
ShadeG DryadG AuraG GnomeG DryadG
ShadeG DryadG AuraG SalaG GnomeG DryadG
DryadG AuraG SalaG GnomeG WispG ShadeG AuraG
GnomeG WispG WispG
etc

Eso se logra quitando el goto del final y agregando esto:
   actions for fotograma 7
      TimeforCreative = TimeforCreative-1;
      if (TimeforCreative<=0) {
         // Elección creativa.
         if (CreativeL<7) {
            // Ese if es sólo para pruebas del code.
            CreativeL = CreativeL+1;
            if (CreativeL<ClasicMaxLReached) {
               // Si el método creativo no creó un...
               // ...experimento de largo mayor al...
               // ...del método clásico, aumentarlo.
               CreativeL = ClasicMaxLReached+1;
            }
            Info = "F7: Elección creativa de largo "+CreativeL+"\n"+Info;
            set ("LastL"+CreativeL, "");
            Cursor = 1;
            Print = "";
            do {
               RecentItem = RecentItem+1;
               if (6<RecentItem) {
                  // Si resulta un ítem inexistente, arreglarlo.
                  RecentItem = RecentItem-((Math.floor(RecentItem/6))*6);
               }
               set ("L"+CreativeL+"P"+Cursor, RecentItem);
               set ("LastL"+CreativeL, eval("LastL"+CreativeL)+eval("Item"+RecentItem)+" ");
               Cursor = Cursor+1;
            } while (Cursor<CreativeL);
            Print = eval("LastL"+CreativeL);
            set ("LastL"+CreativeL, eval("LastL"+CreativeL)+eval("Item"+RecentItem)+" ");
            Info = "F7: Last creado: "+eval("LastL"+CreativeL)+"\n"+Info;
            RecentItem = RecentItem+1;
            if (6<RecentItem) {
               // Si resulta un ítem inexistente, arreglarlo.
               RecentItem = RecentItem-((Math.floor(RecentItem/6))*6);
            }
            set ("L"+CreativeL+"P"+Cursor, RecentItem);
            Print = Print+eval("Item"+RecentItem)+" ";
            trace ("Creativo:\t"+Print);
            Info = "F7: Método creativo creó exp "+Print+"\n"+Info;
            Info = "F7: RecentItem es "+RecentItem+".\n"+Info;
         } else {
            gotoAndPlay (2);
            Info = "F7: Método creativo alcanzó el máximo.\n"+Info;
         }
      } else {
         Info = "F7: Para la elección creativa falta "+TimeforCreative+"\n"+Info;
         gotoAndPlay (2);
      }
   actions for fotograma 8
      stop ();

En el F8 se determina si hay Creative o no, pero no den bola a eso. Una vez determinado vuelve al frame 2.

En este caso creo que no hay errores en cuanto a usar ítems diferentes cuando inicia un nuevo largo. De hecho eso parece suceder siempre con Creative e imposible de otro modo.
Lo señalado en rojo sí es un error que de momento no sé corregir. El programa debería mostrar más combinaciones de 2, pero por algún motivo cree que las mostró todas. Más info:
F2: Cursor está en la última P de un exp, 1
Func dice exp: WispG
F3: Exp del método clásico creado fácil: WispG
F6: RecentItem cambiado a 1
F6: Clasic alcanzó su máximo L: 1
F6: Clasic aumentó su máximo L a 2
F6: Clasic llegó a un L mayor que creative: 2 > 1
F6: El siguiente exp de clasic será de Largo 1
F6: Está listo el exp de máx L: ShadeG ShadeG
F7: Elección creativa de largo 2
F7: Last creado: ShadeG ShadeG
F7: Método creativo creó exp ShadeG DryadG
F7: RecentItem es 3.
F2: Cursor está en la última P de un exp, 1
Func dice exp: ShadeG
F3: Exp del método clásico creado fácil: ShadeG
F6: El siguiente exp de clasic será de Largo 2
F7: Para la elección creativa falta 1
F2: Cursor está en la última P de un exp, 2
Func dice exp: ShadeG AuraG
F3: Exp del método clásico creado fácil: ShadeG AuraG
F6: RecentItem cambiado a 4
F6: Clasic alcanzó su máximo L: 2
F6: Clasic aumentó su máximo L a 3
F6: Clasic llegó a un L mayor que creative: 3 > 2
F6: El siguiente exp de clasic será de Largo 1
F6: Está listo el exp de máx L: SalaG GnomeG GnomeG
F7: Elección creativa de largo 3
F7: Last creado: SalaG GnomeG GnomeG
F7: Método creativo creó exp SalaG GnomeG WispG

F7: RecentItem es 1.
F2: Cursor está en la última P de un exp, 1
Func dice exp: DryadG
F3: Exp del método clásico creado fácil: DryadG
F6: El siguiente exp de clasic será de Largo 2
F7: Para la elección creativa falta 2
F2: Cursor está en la última P de un exp, 2
Func dice exp: ShadeG SalaG
F3: Exp del método clásico creado fácil: ShadeG SalaG
F6: El siguiente exp de clasic será de Largo 3
F7: Para la elección creativa falta 1
F2: Cursor está en la última P de un exp, 3
Func dice exp: SalaG GnomeG ShadeG
F3: Exp del método clásico creado fácil: SalaG GnomeG ShadeG
F6: RecentItem cambiado a 2
F6: Clasic alcanzó su máximo L: 3
F6: Clasic aumentó su máximo L a 4
F6: Clasic llegó a un L mayor que creative: 4 > 3
F6: El siguiente exp de clasic será de Largo 1
F6: Está listo el exp de máx L: DryadG AuraG SalaG SalaG
F7: Elección creativa de largo 4
F7: Last creado: DryadG AuraG SalaG SalaG
F7: Método creativo creó exp DryadG AuraG SalaG GnomeG
F7: RecentItem es 6.
F2: Cursor está en la última P de un exp, 1
Func dice exp: AuraG
F3: Exp del método clásico creado fácil: AuraG
F6: El siguiente exp de clasic será de Largo 2
F7: Para la elección creativa falta 3
F2: Cursor está en la última P de un exp, 2
Func dice exp: ShadeG GnomeG
F3: Exp del método clásico creado fácil: ShadeG GnomeG
F6: El siguiente exp de clasic será de Largo 3
F7: Para la elección creativa falta 2
F2: Cursor está en la última P de un exp, 3
Func dice exp: SalaG GnomeG DryadG
F3: Exp del método clásico creado fácil: SalaG GnomeG DryadG
F6: El siguiente exp de clasic será de Largo 4
F7: Para la elección creativa falta 1
F2: Cursor está en la última P de un exp, 4
Func dice exp: DryadG AuraG GnomeG WispG
F6: RecentItem cambiado a 1
F6: Clasic alcanzó su máximo L: 4
F6: Clasic aumentó su máximo L a 5
F6: Clasic llegó a un L mayor que creative: 5 > 4
F6: El siguiente exp de clasic será de Largo 1
F6: Está listo el exp de máx L: ShadeG DryadG AuraG SalaG SalaG
F7: Elección creativa de largo 5
F7: Last creado: ShadeG DryadG AuraG SalaG SalaG
F7: Método creativo creó exp ShadeG DryadG AuraG SalaG GnomeG
F7: RecentItem es 6.
F2: Cursor está en la última P de un exp, 1
Func dice exp: SalaG
F3: Exp del método clásico creado fácil: SalaG
F6: El siguiente exp de clasic será de Largo 2
F7: Para la elección creativa falta 4
F2: Cursor está en la última P de un exp, 2
Func dice exp: DryadG WispG
F6: El siguiente exp de clasic será de Largo 3
F7: Para la elección creativa falta 3
F2: Cursor está en la última P de un exp, 3
Func dice exp: SalaG GnomeG AuraG
F3: Exp del método clásico creado fácil: SalaG GnomeG AuraG
F6: El siguiente exp de clasic será de Largo 4
F7: Para la elección creativa falta 2
F2: Cursor está en la última P de un exp, 4
Func dice exp: DryadG AuraG GnomeG ShadeG
F3: Exp del método clásico creado fácil: DryadG AuraG GnomeG ShadeG
F6: El siguiente exp de clasic será de Largo 5
F7: Para la elección creativa falta 1
F2: Cursor está en la última P de un exp, 5
Func dice exp: ShadeG DryadG AuraG GnomeG WispG
F6: RecentItem cambiado a 1
F6: Clasic alcanzó su máximo L: 5
F6: Clasic aumentó su máximo L a 6
F6: Clasic llegó a un L mayor que creative: 6 > 5
F6: El siguiente exp de clasic será de Largo 1
F6: Está listo el exp de máx L: ShadeG DryadG AuraG SalaG GnomeG GnomeG
F7: Elección creativa de largo 6
F7: Last creado: ShadeG DryadG AuraG SalaG GnomeG GnomeG
F7: Método creativo creó exp ShadeG DryadG AuraG SalaG GnomeG WispG
F7: RecentItem es 1.
F2: Cursor está en la última P de un exp, 1
Func dice exp: GnomeG
F3: Exp del método clásico creado fácil: GnomeG
F6: Exps de largo 1 completados.
F6: El siguiente exp de clasic será de Largo 2
F7: Para la elección creativa falta 5
F2: Cursor está en la última P de un exp, 2
Func dice exp: DryadG ShadeG
F3: Exp del método clásico creado fácil: DryadG ShadeG
F6: El siguiente exp de clasic será de Largo 3
F7: Para la elección creativa falta 4
F2: Cursor está en la última P de un exp, 3
Func dice exp: SalaG GnomeG SalaG
F3: Exp del método clásico creado fácil: SalaG GnomeG SalaG
F6: El siguiente exp de clasic será de Largo 4
F7: Para la elección creativa falta 3
F2: Cursor está en la última P de un exp, 4
Func dice exp: DryadG AuraG GnomeG DryadG
F3: Exp del método clásico creado fácil: DryadG AuraG GnomeG DryadG
F6: El siguiente exp de clasic será de Largo 5
F7: Para la elección creativa falta 2
F2: Cursor está en la última P de un exp, 5
Func dice exp: ShadeG DryadG AuraG GnomeG ShadeG
F3: Exp del método clásico creado fácil: ShadeG DryadG AuraG GnomeG ShadeG
F6: El siguiente exp de clasic será de Largo 6
F7: Para la elección creativa falta 1
F2: Cursor está en la última P de un exp, 6
Func dice exp: ShadeG DryadG AuraG SalaG GnomeG ShadeG
F3: Exp del método clásico creado fácil: ShadeG DryadG AuraG SalaG GnomeG ShadeG
F6: RecentItem cambiado a 2
F6: Clasic alcanzó su máximo L: 6
F6: Clasic aumentó su máximo L a 7
F6: Clasic llegó a un L mayor que creative: 7 > 6
F6: El siguiente exp de clasic será de Largo 2
F6: Está listo el exp de máx L: DryadG AuraG SalaG GnomeG WispG ShadeG ShadeG
F7: Elección creativa de largo 7
F7: Last creado: DryadG AuraG SalaG GnomeG WispG ShadeG ShadeG
F7: Método creativo creó exp DryadG AuraG SalaG GnomeG WispG ShadeG DryadG
F7: RecentItem es 3.
F2: Cursor está en la última P de un exp, 2
Func dice exp: DryadG DryadG
F3: Exp del método clásico creado fácil: DryadG DryadG
F6: El siguiente exp de clasic será de Largo 3
F7: Para la elección creativa falta 6
F2: Cursor está en la última P de un exp, 3
Func dice exp: SalaG GnomeG GnomeG
F3: Exp del método clásico creado fácil: SalaG GnomeG GnomeG
F6: Exps de largo 2 completados.

Ya lo veo más o menos. Luego de establecer el último exp de largo 3, SalaG GnomeG GnomeG, el exp que se produce es ese sumándole 1 a la última parte, lo que daría GnomeG WispG WispG, pero da SalaG GnomeG WispG porque programé mal la suma... o mejor dicho no me di cuenta que fuese necesario eso. Ahora entonces lo que está en los 1eros frames lo tengo que aplicar más adelante también. Deberé crear otra función o algo. Lioso ¿no? ¿será que programar funciones desde el inicio es mejor? Pero entiendo más si veo un flujo del código, sin tener que ir a otro lado a ver qué hace cada función.

Ah, y acabo de darme cuenta que en los frames 4 y 5 no he puesto "Info". Es que las puse buscando un error que supuse no estaba ahí. Un error difícil de hallar: En un if del F6 había escrito "Crative" en vez de Creative >___<
902  Programación / Programación General / Re: ¿Cómo captar los pares de una combinación de varios? en: 14 Noviembre 2018, 03:34 am
Había olvidado varios detalles de este problema, pero luego de mucho pude hacer una buena base para la investigación:
Código:
Escena 1
   actions for fotograma 1
      // Ítems.
      Item1 = "WispG";
      Item2 = "ShadeG";
      Item3 = "DryadG";
      Item4 = "AuraG";
      Item5 = "SalaG";
      Item6 = "GnomeG";
      Item7 = "JinnG";
      Item8 = "UndineG";
      Item9 = "WispS";
      Item10 = "ShadeS";
      Item11 = "DryadS";
      Item12 = "AuraS";
      Item13 = "SalaS";
      Item14 = "GnomeS";
      Item15 = "JinnS";
      Item16 = "UndineS";
      Item17 = "FireC";
      Item18 = "EarthC";
      Item19 = "WindC";
      Item20 = "WaterC";
      Item21 = "SunC";
      Item22 = "MoonC";
      Item23 = "GlowC";
      Item24 = "ChaosC";
      Item25 = "RoundS";
      Item26 = "OblongS";
      Item27 = "CroakedS";
      Item28 = "BigS";
      Item29 = "SmallS";
      Item30 = "LongS";
      Item31 = "FlatS";
      Item32 = "SpinyS";
      Item33 = "Bellgrapes";
      Item34 = "DiceB";
      Item35 = "LShoes";
      Item36 = "PShoes";
      Item37 = "Squalphin";
      Item38 = "Citrisquid";
      Item39 = "Springanana";
      Item40 = "PeachP";
      Item41 = "Apricat";
      Item42 = "Whalamata";
      Item43 = "POclock";
      Item44 = "FishyF";
      Item45 = "Boarmelon";
      Item46 = "Rhinoloupe";
      Item47 = "Orcaplant";
      Item48 = "Garlicrown";
      Item49 = "HoneyO";
      Item50 = "SMoai";
      Item51 = "SCarrot";
      Item52 = "Conchurnip";
      Item53 = "CornF";
      Item54 = "Cabadilllo";
      Item55 = "Needletuce";
      Item56 = "CherryB";
      Item57 = "MPotato";
      Item58 = "Lilipods";
      Item59 = "Bumpkin";
      Item60 = "HearhM";
      Item61 = "SpadeB";
      Item62 = "Mushroom";
      Item63 = "AnimalM";
      Item64 = "BugM";
      Item65 = "LizardM";
      Item66 = "FishM";
      Item67 = "BirdM";
      Item68 = "MorphM";
      Item69 = "DemonM";
      Item70 = "DragonS";
      Item71 = "OddM";
      Item72 = "MagicM";
      Item73 = "RottenM";
      Item74 = "SharpC";
      Item75 = "PoisonC";
      Item76 = "Scisors";
      Item77 = "HealingC";
      Item78 = "ZombieC";
      Item79 = "VampireF";
      Item80 = "LittleE";
      Item81 = "SleeptyE";
      Item82 = "SillyE";
      Item83 = "DangerousE";
      Item84 = "AngryE";
      Item85 = "BlankE";
      Item86 = "CreepyE";
      Item87 = "WickedE";
      Item88 = "AngelF";
      Item89 = "RavenF";
      Item90 = "CFeather";
      Item91 = "MothW";
      Item92 = "FlamingQ";
      Item93 = "WhiteF";
      Item94 = "AromaO";
      Item95 = "DBlood";
      Item96 = "Acid";
      Item97 = "HolyW";
      Item98 = "Ether";
      Item99 = "Mercury";
      Item100 = "StinkyB";
      Item101 = "GhostH";
      Item102 = "DBreath";
      Item103 = "VirginS";
      Item104 = "Electr";
      Item105 = "Moss";
      Item106 = "EarW";
      Item107 = "BBat";
      Item108 = "Sulpher";
      Item109 = "PoisonP";
      Item110 = "SleepP";
      Item111 = "KnockD";
      Item112 = "Rust";
      Item113 = "GraveD";
      Item114 = "Ash";
      Item115 = "Hairball";
      Item116 = "Needle";
      Item117 = "Mirror";
      Item118 = "WadW";
      Item119 = "MessyS";
      Item120 = "GreenballB";
      Item121 = "TakoB";
      // Parte 1 del experimento de largo 1.
      L1P1 = 0;
      // Último experimento de largo 1 que se hará.
      LastL1 = "TakoB ";
      // Último ítem usado.
      RecentItem = 1;
      // Relativo al largo de los experimentos...
      // ...del método clásico.
      ClasicMinL = 1;
      ClasicActualL = 1;
      ClasicMaxL = 1;
      ClasicMaxLReached = 1;
      // Largo del método creativo.
      CreativeL = 1;
      // Experimentos antes de hacer uno del método creativo.
      TimeforCreative = 1;
      // Valor de TimeforCreative cuando debe recargarse.
      ChargedTimeforCreative = 1;
      // Mayor largo alcanzado por cualquier método.
      AnyMaxL = 1;
      Info = "";
      function Concatenarytrace () {
         // Concatena las partes de los experimentos.
         Print = "";
         Cursor = 0;
         do {
            Cursor = Cursor+1;
            Print = Print+eval("Item"+eval("L"+ClasicActualL+"P"+Cursor))+" ";
         } while (Cursor<ClasicActualL);
         trace (Print);
         Info = "Func dice exp: "+Print+"\n"+Info;
      }
   actions for fotograma 2
      // Cursor indicará la parte última de un experimento.
      Cursor = ClasicActualL;
      Info = "F2: Cursor está en la última P de un exp, "+ClasicActualL+"\n"+Info;
   actions for fotograma 3
      if (eval("L"+ClasicActualL+"P"+Cursor)<6) {
         // Si el char es aumentable, aumenta.
         set ("L"+ClasicActualL+"P"+Cursor, eval("L"+ClasicActualL+"P"+Cursor)+1);
         Concatenarytrace();
         Info = "F3: Exp del método clásico creado fácil: "+Print+"\n"+Info;
         gotoAndPlay (6);
      }
   actions for fotograma 4
      // El char no es aumentable, ergo se resetea.
      set ("L"+ClasicActualL+"P"+Cursor, 1);
      if (1<Cursor) {
         // Si Cursor puede bajar, baja.
         Cursor = Cursor-1;
      } else {
         // Sino, se muestra el reseteado.
         Concatenarytrace();
         gotoAndPlay (6);
      }
   actions for fotograma 5
      if (eval("L"+ClasicActualL+"P"+Cursor)<6) {
         // Si el char es aumentable, aumenta.
         set ("L"+ClasicActualL+"P"+Cursor, eval("L"+ClasicActualL+"P"+Cursor)+1);
         Concatenarytrace();
         gotoAndPlay (6);
      } else {
         // Sino, se resetea y reinicia un proceso.
         gotoAndPlay (4);
      }
   actions for fotograma 6
      // Esto es aftertrace de clasic.
      if (Print == eval("LastL"+ClasicActualL)) {
         // Si el experimento mostrado es igual al grabado como último...
         // ...no se hacen más experimentos con ese largo.
         Info = "F6: Exps de largo "+ClasicMinL+" completados.\n"+Info;
         ClasicMinL = ClasicMinL+1;
      }
      if (CreativeL<=ClasicActualL && ClasicMaxL-1<=ClasicActualL) {
         // Si el largo del último experimento del método creativo...
         // ...es menor o igual al largo de este experimento clásico...
         // ...y ese es igual o mayor al máximo-1 que puede ser...
         // ..., Recentitem cambia.
         RecentItem = eval("L"+ClasicActualL+"P"+ClasicActualL);
         Info = "F6: RecentItem cambiado a "+RecentItem+"\n"+Info;
      }
      if (ClasicActualL<ClasicMaxL) {
         // Si el largo es aumentable, aumenta.
         ClasicActualL = ClasicActualL+1;
         Info = "F6: El siguiente exp de clasic será de Largo "+ClasicActualL+"\n"+Info;
      } else {
         // Sino, quedará al mínimo pero el máximo aumenta.
         ClasicMaxLReached = ClasicMaxL;
         Info = "F6: Clasic alcanzó su máximo L: "+ClasicMaxL+"\n"+Info;
         if (ClasicMaxL<7) {
            // Ese if es sólo para pruebas del code.
            ClasicMaxL = ClasicMaxL+1;
            Info = "F6: Clasic aumentó su máximo L a "+ClasicMaxL+"\n"+Info;
            if (CreativeL<ClasicMaxL) {
               // Si el método creativo no creó un experimento...
               // ...del largo alcanzado por el método clásico...
               // ..., crearlo (no se usará aún) y marcar que será...
               // ...el último experimento de ese largo.
               Info = "F6: Clasic llegó a un L mayor que creative: "+ClasicMaxL+" > "+CreativeL+"\n"+Info;
               set ("LastL"+ClasicMaxL, "");
               Cursor = 1;
               // Cálculo del ítem más recientemente usado.
               NextRecentItem = eval("L"+ClasicActualL+"P"+ClasicActualL);
               do {
                  NextRecentItem = NextRecentItem+1;
                  if (6<NextRecentItem) {
                     // Si resulta un ítem inexistente, arreglarlo.
                     NextRecentItem = NextRecentItem-((Math.floor(NextRecentItem/6))*6);
                  }
                  set ("L"+ClasicMaxL+"P"+Cursor, NextRecentItem);
                  set ("LastL"+ClasicMaxL, eval("LastL"+ClasicMaxL)+eval("Item"+NextRecentItem)+" ");
                  Cursor = Cursor+1;
               } while (Cursor<ClasicMaxL);
               set ("L"+ClasicMaxL+"P"+Cursor, NextRecentItem);
               set ("LastL"+ClasicMaxL, eval("LastL"+ClasicMaxL)+eval("Item"+NextRecentItem)+" ");
            }
         }
         ClasicActualL = ClasicMinL;
         Info = "F6: El siguiente exp de clasic será de Largo "+ClasicMinL+"\n"+Info;
         Info = "F6: Está listo el exp de máx L: "+eval("LastL"+ClasicMaxL)+"\n"+Info;
      }
   actions for fotograma 7
      TimeforCreative = TimeforCreative-1;
      if (TimeforCreative<=0) {
         // Elección creativa.
         if (CreativeL<7) {
            // Ese if es sólo para pruebas del code.
            CreativeL = CreativeL+1;
            if (CreativeL<ClasicMaxLReached) {
               // Si el método creativo no creó un...
               // ...experimento de largo mayor al...
               // ...del método clásico, aumentarlo.
               CreativeL = ClasicMaxLReached+1;
            }
            Info = "F7: Elección creativa de largo "+CreativeL+"\n"+Info;
            set ("LastL"+CreativeL, "");
            Cursor = 1;
            Print = "";
            do {
               RecentItem = RecentItem+1;
               if (6<RecentItem) {
                  // Si resulta un ítem inexistente, arreglarlo.
                  RecentItem = RecentItem-((Math.floor(RecentItem/6))*6);
               }
               set ("L"+CreativeL+"P"+Cursor, RecentItem);
               set ("LastL"+CreativeL, eval("LastL"+CreativeL)+eval("Item"+RecentItem)+" ");
               Cursor = Cursor+1;
            } while (Cursor<CreativeL);
            Print = eval("LastL"+CreativeL);
            set ("LastL"+CreativeL, eval("LastL"+CreativeL)+eval("Item"+RecentItem)+" ");
            Info = "F7: Last creado: "+eval("LastL"+CreativeL)+"\n"+Info;
            RecentItem = RecentItem+1;
            if (6<RecentItem) {
               // Si resulta un ítem inexistente, arreglarlo.
               RecentItem = RecentItem-((Math.floor(RecentItem/6))*6);
            }
            set ("L"+CreativeL+"P"+Cursor, RecentItem);
            Print = Print+eval("Item"+RecentItem)+" ";
            trace ("Creativo:\t"+Print);
            Info = "F7: Método creativo creó exp "+Print+"\n"+Info;
            Info = "F7: RecentItem es "+RecentItem+".\n"+Info;
         } else {
            gotoAndPlay (2);
            Info = "F7: Método creativo alcanzó el máximo.\n"+Info;
         }
      } else {
         Info = "F7: Para la elección creativa falta "+TimeforCreative+"\n"+Info;
         gotoAndPlay (2);
      }
   actions for fotograma 8
      stop ();
   actions for Símbolo 1
      on (release, keyPress "<Left>") {
         ChargedTimeforCreative = 1;
         TimeforCreative = ChargedTimeforCreative;
         gotoAndPlay (2);
      }
   actions for Símbolo 2
      on (release, keyPress "<Right>") {
         ChargedTimeforCreative = ChargedTimeforCreative+1;
         TimeforCreative = ChargedTimeforCreative;
         gotoAndPlay (2);
      }
Aunque son más de 100 ítems, lo limité a 6 para ver mejor que el "reset" (ver abajo) funcione bien. Parecido en cuanto al largo, está limitado a 7. En el frame 8 hay un par de botones, nombrados en el código al final como Símbolo 1 y 2. El programa pide que en el juego se pruebe el ítem 1. Luego el 2 y 3. Luego pregunta si eso fue mejor que lo anterior (para eso los botones). O sea, intercala 2 métodos. A uno le llamo Clasic y es:
1
2
34
3
35
612
etc
Al otro le llamo Creative y sería así:
1
23
356
1234
etc
Cuando se produce un largo no alcanzado, se compone de los siguientes ítems al más elevado. Cuando es 6, cambia a 1. Los métodos, al intercalarse forman esto:
WispG
Creativo:   ShadeG DryadG
ShadeG
Creativo:   AuraG SalaG GnomeG
ShadeG AuraG
Creativo:   WispG ShadeG DryadG AuraG
DryadG
Creativo:   SalaG GnomeG WispG ShadeG DryadG
ShadeG SalaG
Creativo:   AuraG SalaG GnomeG WispG ShadeG DryadG
AuraG GnomeG WispG
Creativo:   AuraG SalaG GnomeG WispG ShadeG DryadG AuraG
AuraG
ShadeG GnomeG
AuraG GnomeG ShadeG
WispG ShadeG DryadG SalaG
SalaG
DryadG WispG
AuraG GnomeG DryadG
WispG ShadeG DryadG GnomeG
SalaG GnomeG WispG ShadeG AuraG
GnomeG
DryadG ShadeG
AuraG GnomeG AuraG
WispG ShadeG AuraG WispG
SalaG GnomeG WispG ShadeG SalaG
AuraG SalaG GnomeG WispG ShadeG AuraG
WispG
El programa no muestra números sino ítems, pero es lo mismo. Por algún motivo esto no se está aplicando:
Código:
      if (Print == eval("LastL"+ClasicActualL)) {
         // Si el experimento mostrado es igual al grabado como último...
         // ...no se hacen más experimentos con ese largo.
         Info = "F6: Exps de largo "+ClasicMinL+" completados.\n"+Info;
         ClasicMinL = ClasicMinL+1;
      }
Por eso repitió "WispG". Sinceramente, no sé cuántos errores puede haber, y el método no es perfecto (por ejemplo en
"Creativo:   AuraG SalaG GnomeG WispG ShadeG DryadG
AuraG GnomeG WispG
Creativo:   AuraG SalaG GnomeG WispG ShadeG DryadG AuraG"
El submétodo creativo produce 2 resultados casi iguales...
...aunque creo que eso se arreglará cuando le ponga un contador de resets y los contiguos se elijan basados en él. Sería por ejemplo:
"Creativo:   AuraG SalaG GnomeG WispG ShadeG DryadG
AuraG GnomeG WispG
Creativo:   AuraG GnomeG ShadeG AuraG GnomeG ShadeG AuraG"

Eeen fin, lo importante es que se diría todo experimento, en un orden interesante, variado. De hecho, la pregunta de si el submétodo creativo fue efectivo hace que la lista pueda variar. Si la respuesta es sí, el submétodo se ejecutará en su lugar correspondiente, sino se salteará 1 vez, y en la próxima si se responde de nuevo que no entonces serán 2 veces y así sucesivamente. El método dice experimentos de más largo más seguidos si eso fue efectivo, y sino los dice menos seguidos.

En realidad esto no responde el tema, y los métodos pueden mejorar, seguiré con ello, pero bueno, la base está...
903  Programación / Programación General / ¿Cómo captar los pares de una combinación de varios? en: 18 Octubre 2018, 07:03 am
O algo así.

El juego Legend of Mana de Play tiene un sistema de modificación de armas/armaduras en el cual puedes agregar cosas a ellas infinitamente, pero algunas cosas perjudican al equipo y algunos resultados sólo ocurren cuando se cumplen ciertos requisitos. Hay guías de esto, pero quiero hacer una investigación por mi mismo, la cual implica probar diferentes combinaciones en el juego.

Supongamos que sólo hay X cantidad de ítems y cada uno se llama como una letra, distinta. X es la cantidad de letras. Qué pruebas hacer y en qué orden es todo un tema, yo diría que aparte, pero si quieren lo hablamos. La cuestión es que quiero usar un método más o menos óptimo, o sea, esta serie de pruebas:
A
B+C
D+E+F
G+H+I+J
...etc, parece más óptimo que esta:
A
A+A
A+B
A+C
...parece, pero bue, digamos que sí es.

Yo uso una serie más o menos así:
A
B
C+D
E
F+G
H+I+J

Cuando haya probado todos los elementos (aún no las combinaciones), quiero que las próximas combinaciones sean de elementos que aún no se hayan combinado. Por ejemplo en este caso, I+H debería probarse posteriormente a I+F, porque en cierto modo ya fue probado en H+I+J (no es que a priori pueda concluirse el resultado, pero por una cuestión de probabilidad y lógica tiene sentido probar algo más diferente).

A medida que avance, cada vez me será más complicado ver qué pares de elementos probé y cuales no, por eso quisiera algo que si yo le escribo por ejemplo A+B+C me devuelva
AB
AC
BC

Ahora que pienso es algo de permutaciones o algo así, pensé que era un problema más extraño... pero en lo posible no quiero programar tanto, hice una tabla en Excel donde marco con un número las veces que ciertos elementos se combinaron, y le puse un sumador así que busco los que tienen 0 y así sucesivamente. Me gustaría que de alguna forma esos números se escribieran solos, o sea, supongamos que la tabla sólo tuviera 3 elementos:
_____A__B__C
_____0__0__0
A_0
B_0
C_0
Los 0 son las sumas. En las filas, las veces que ese elemento se combinó con otro y estuvo antes. En las columnas, lo mismo pero si estuvo después.

En un texto aparte voy anotando las combinaciones y los resultados:
A: Poder de ataque+1, esencia de fuego+1, etc.
B: Poder de ataque+1, técnica+1, etc.
C+A: Poder de ataque+2, esencia de fuego+1. etc.
etc

Luego marco en la tabla las cosas que se combinaron:
_____A__B__C
_____0__0__0
A_0
B_0
C_1__1

Yo quisiera que de alguna forma, si es posible, escriba el texto, y luego esos números aparezcan.
Por ejemplo escriba C+A y se le sume 1 a lo que haya en la celda correspondiente.

El texto puede estar en celdas separadas, es decir, cada elemento en una celda, lo puedo ir poniendo en otra hoja.

Si en Excel es muy complicado o imposible, bueno, lo pensaré en algo más "técnico", de hecho está bueno si pudiera hacer que las selecciones de qué elementos combinar se hicieran automáticamente, no tendría que andar viendo cuales tienen menos uso ni anotando tanto en la tabla...


Nos veremos.
904  Foros Generales / Foro Libre / Re: Un niño acaba perdido entre diversos portales donde abundan los fantasmas, inten en: 28 Agosto 2018, 09:02 am
No sé si denunciarte por título engañoso o agradecerte el video. Pero pensé que era en serio...

Es que aún Internet no me atrapó, más bien me atrapó un sitio donde todo debería ser... como debería ser... por ejemplo los títulos deben ser descriptivos del tema, sin ser ambiguos o al menos la interpretación más obvia o probable debe surgir por el título. En fin, quizá ese mundo se llama filosofía o programación.

Hablando de niños perdidos en otro mundo y filosofía me acordé de "El mundo de Sofía", una película muy delirante.

O quizá estoy como en alguna película de justiciero, pero más de las palabras y l lógica que de los puñetazos y similares.
905  Programación / Programación General / Re: (Resuelto): Errores en generador de sentencias condicionales. en: 19 Agosto 2018, 02:16 am
Faltaba esto:
Cursor1 = SCs;
en el 2ndo fotograma, o sea acá:
Código:
      if (eval("SC"+Cursor1+"P"+Cursor2)<MaxValor) {
         set ("SC"+Cursor1+"P"+Cursor2, eval("SC"+Cursor1+"P"+Cursor2)+1);
         PrintCond();
         ACÁAAAAAAAAAAAAAAAAAAAA Cursor1 = SCs;
         Cursor2 = 3;
Con eso se marca que el valor a modificarse será el de la última subcondición (la que esté más a la derecha).

Y en el while del fotograma 1 había que poner Print al inicio en vez de al final:
Código:
        while (Cursor3<SCs) {
            if (eval("SC"+Cursor3+"P2")<5) {
               Print = "V"+eval("SC"+Cursor3+"P1")+eval("Op"+eval("SC"+Cursor3+"P2"))+"V"+eval("SC"+Cursor3+"P3")+eval("Rel"+eval("SC"+Cursor3+"P4"))+Print;
            } else {
               Print = "V"+eval("SC"+Cursor3+"P3")+eval("Op"+(eval("SC"+Cursor3+"P2")-4))+"V"+eval("SC"+Cursor3+"P1")+eval("Rel"+eval("SC"+Cursor3+"P4"))+Print;
            }
            Cursor3 = Cursor3+1;
         }

O sea quedaría así:
Print =  Print + "V"+eval("SC"+Cursor3+"P1")+eval("Op"+eval("SC"+Cursor3+"P2"))+"V"+eval("SC"+Cursor3+"P3")+eval("Rel"+eval("SC"+Cursor3+"P4"));
Y:
Print = Print + "V"+eval("SC"+Cursor3+"P3")+eval("Op"+(eval("SC"+Cursor3+"P2")-4))+"V"+eval("SC"+Cursor3+"P1")+eval("Rel"+eval("SC"+Cursor3+"P4"));

Les dejo una versión simplificada, o sea, esta usa los 6 símbolos en vez de 4 e invertir. La diferencia es que no hay ifs en la función PrintCond.
Código:
Escena 1
   actions for fotograma 1
      // Subcondiciones en la condición.
      SCs = 1;
      // Valores de las partes de la SC.
      SC1P1 = 1;
      SC1P2 = 1;
      SC1P3 = 0;
      // Cosas para evitar ifs.
      Op1 = " < ";
      Op2 = " <= ";
      Op3 = " == ";
      Op4 = " != ";
      Op5 = " => ";
      Op6 = " > ";
      Rel1 = " && ";
      Rel2 = " or ";
      Cursor1 = 1;
      Cursor2 = 3;
      function PrintCond () {
         Cursor3 = 1;
         Print = "";
         while (Cursor3<SCs) {
            Print = Print+"V"+eval("SC"+Cursor3+"P1")+eval("Op"+eval("SC"+Cursor3+"P2"))+"V"+eval("SC"+Cursor3+"P3")+eval("Rel"+eval("SC"+Cursor3+"P4"));
            Cursor3 = Cursor3+1;
         }
         // Eso traduce los valores en variables o símbolos y los va concatenando.
         Print = Print+"V"+eval("SC"+Cursor3+"P1")+eval("Op"+eval("SC"+Cursor3+"P2"))+"V"+eval("SC"+Cursor3+"P3");
         // Eso es la subcondición final, la que no tiene parte 4 ("&&" o "or").
         trace (Print);
      }
   actions for fotograma 2
      if (Cursor2 == 1 or Cursor2 == 3) {
         MaxValor = SCs*2;
      } else if (Cursor2 == 2) {
         MaxValor = 6;
      } else {
         MaxValor = 2;
      }
      // Máximo valor de la parte donde esté el cursor 2. Si por ejemplo es la parte 2 su máximo valor es 6, o sea los 6 posibles operadores.
      if (eval("SC"+Cursor1+"P"+Cursor2)<MaxValor) {
         // Si el valor señalado puede aumentar.
         set ("SC"+Cursor1+"P"+Cursor2, eval("SC"+Cursor1+"P"+Cursor2)+1);
         PrintCond();
         Cursor1 = SCs;
         Cursor2 = 3;
         // Aumenta, se muestra y se resetean los cursores.
      } else {
         // El valor se resetea.
         set ("SC"+Cursor1+"P"+Cursor2, 1);
         if (Cursor2>1) {
            // Si el cursor 2 puede retroceder, o sea marcar una parte más en la izquierda, se reduce.
            Cursor2 = Cursor2-1;
         } else if (Cursor1>1) {
            // Sino, si el cursor 1 puede retroceder, se reduce. El cursor 1 marca la subcondición y la el 2 marca la parte (variable1, operador, variable2, relación. En vez de operador debería decir comparador, no me di cuenta). Y el cursor 2 se queda al máximo (marcando la parte más a la derecha de la subcondición, la relación "&&" o "or").
            Cursor1 = Cursor1-1;
            Cursor2 = 4;
         } else {
            // Sino, se crea la parte relación o 4 de la última subcondición (derecha), aumenta la cantidad de subcondiciones, los cursores quedan al máximo (en la derecha), se crea una nueva subcondición, de 3 partes, y se muestra todo.
            set ("SC"+SCs+"P4", 1);
            SCs = SCs+1;
            Cursor1 = SCs;
            Cursor2 = 3;
            set ("SC"+SCs+"P1", 1);
            set ("SC"+SCs+"P2", 1);
            set ("SC"+SCs+"P3", 1);
            PrintCond();
         }
      }
   actions for fotograma 3
      gotoAndPlay (2);
La cantidad de condiciones que muestra es abrumadora. Aunque claro muchas son repetidas y son simplonas. Por algo se empieza...

Aquí he reducido el número de posibles valores. O sea, con 2 subcondiciones son
4*6*4*2*4*6*4
que según calculé son 9216 posibilidades (con repeticiones y chorradas, luego las intentaré evitar).
Pero en esta versión es
2*2*2*2*2*2*2
Así es el resultado:
[spoiler]V1 < V1
V1 < V2
V1 <= V1
V1 <= V2
V2 < V1
V2 < V2
V2 <= V1
V2 <= V2
V1 < V1 && V1 < V1
V1 < V1 && V1 < V2
V1 < V1 && V1 <= V1
V1 < V1 && V1 <= V2
V1 < V1 && V2 < V1
V1 < V1 && V2 < V2
V1 < V1 && V2 <= V1
V1 < V1 && V2 <= V2
V1 < V1 or V1 < V1
V1 < V1 or V1 < V2
V1 < V1 or V1 <= V1
V1 < V1 or V1 <= V2
V1 < V1 or V2 < V1
V1 < V1 or V2 < V2
V1 < V1 or V2 <= V1
V1 < V1 or V2 <= V2
V1 < V2 && V1 < V1
V1 < V2 && V1 < V2
V1 < V2 && V1 <= V1
V1 < V2 && V1 <= V2
V1 < V2 && V2 < V1
V1 < V2 && V2 < V2
V1 < V2 && V2 <= V1
V1 < V2 && V2 <= V2
V1 < V2 or V1 < V1
V1 < V2 or V1 < V2
V1 < V2 or V1 <= V1
V1 < V2 or V1 <= V2
V1 < V2 or V2 < V1
V1 < V2 or V2 < V2
V1 < V2 or V2 <= V1
V1 < V2 or V2 <= V2
V1 <= V1 && V1 < V1
V1 <= V1 && V1 < V2
V1 <= V1 && V1 <= V1
V1 <= V1 && V1 <= V2
V1 <= V1 && V2 < V1
V1 <= V1 && V2 < V2
V1 <= V1 && V2 <= V1
V1 <= V1 && V2 <= V2
V1 <= V1 or V1 < V1
V1 <= V1 or V1 < V2
V1 <= V1 or V1 <= V1
V1 <= V1 or V1 <= V2
V1 <= V1 or V2 < V1
V1 <= V1 or V2 < V2
V1 <= V1 or V2 <= V1
V1 <= V1 or V2 <= V2
V1 <= V2 && V1 < V1
V1 <= V2 && V1 < V2
V1 <= V2 && V1 <= V1
V1 <= V2 && V1 <= V2
V1 <= V2 && V2 < V1
V1 <= V2 && V2 < V2
V1 <= V2 && V2 <= V1
V1 <= V2 && V2 <= V2
V1 <= V2 or V1 < V1
V1 <= V2 or V1 < V2
V1 <= V2 or V1 <= V1
V1 <= V2 or V1 <= V2
V1 <= V2 or V2 < V1
V1 <= V2 or V2 < V2
V1 <= V2 or V2 <= V1
V1 <= V2 or V2 <= V2
V2 < V1 && V1 < V1
V2 < V1 && V1 < V2
V2 < V1 && V1 <= V1
V2 < V1 && V1 <= V2
V2 < V1 && V2 < V1
V2 < V1 && V2 < V2
V2 < V1 && V2 <= V1
V2 < V1 && V2 <= V2
V2 < V1 or V1 < V1
V2 < V1 or V1 < V2
V2 < V1 or V1 <= V1
V2 < V1 or V1 <= V2
V2 < V1 or V2 < V1
V2 < V1 or V2 < V2
V2 < V1 or V2 <= V1
V2 < V1 or V2 <= V2
V2 < V2 && V1 < V1
V2 < V2 && V1 < V2
V2 < V2 && V1 <= V1
V2 < V2 && V1 <= V2
V2 < V2 && V2 < V1
V2 < V2 && V2 < V2
V2 < V2 && V2 <= V1
V2 < V2 && V2 <= V2
V2 < V2 or V1 < V1
V2 < V2 or V1 < V2
V2 < V2 or V1 <= V1
V2 < V2 or V1 <= V2
V2 < V2 or V2 < V1
V2 < V2 or V2 < V2
V2 < V2 or V2 <= V1
V2 < V2 or V2 <= V2
V2 <= V1 && V1 < V1
V2 <= V1 && V1 < V2
V2 <= V1 && V1 <= V1
V2 <= V1 && V1 <= V2
V2 <= V1 && V2 < V1
V2 <= V1 && V2 < V2
V2 <= V1 && V2 <= V1
V2 <= V1 && V2 <= V2
V2 <= V1 or V1 < V1
V2 <= V1 or V1 < V2
V2 <= V1 or V1 <= V1
V2 <= V1 or V1 <= V2
V2 <= V1 or V2 < V1
V2 <= V1 or V2 < V2
V2 <= V1 or V2 <= V1
V2 <= V1 or V2 <= V2
V2 <= V2 && V1 < V1
V2 <= V2 && V1 < V2
V2 <= V2 && V1 <= V1
V2 <= V2 && V1 <= V2
V2 <= V2 && V2 < V1
V2 <= V2 && V2 < V2
V2 <= V2 && V2 <= V1
V2 <= V2 && V2 <= V2
V2 <= V2 or V1 < V1
V2 <= V2 or V1 < V2
V2 <= V2 or V1 <= V1
V2 <= V2 or V1 <= V2
V2 <= V2 or V2 < V1
V2 <= V2 or V2 < V2
V2 <= V2 or V2 <= V1
V2 <= V2 or V2 <= V2
V1 < V1 && V1 < V1 && V1 < V1
V1 < V1 && V1 < V1 && V1 < V2
V1 < V1 && V1 < V1 && V1 <= V1
V1 < V1 && V1 < V1 && V1 <= V2
[/spoiler] Y sigue. ¿Errores? Si no aviso, es que no veo.
906  Programación / Programación General / (Resuelto): Errores en generador de sentencias condicionales. en: 18 Agosto 2018, 04:21 am
EDIT:
Solución en el 2ndo post. Dejo el tema por si a alguno le interesa, pero si quieren bórrenlo o ciérrenlo.

El resultado que intenté obtener sería así:
Citar
V1 < V1
V1 < V2
V1 <= V1
V1 <= V2
V1 == V1
V1 == V2
V1 != V1
V1 != V2
V1 < V1
V2 < V1
V1 <= V1
V2 <= V1
V2 < V1
V2 < V2
V2 <= V1
V2 <= V2
V2 == V1
V2 == V2
V2 != V1
V2 != V2
V1 < V2
V2 < V2
V1 <= V2
V2 <= V2

24
2 variables * 6 símbolos * 2 variables

V1 < V1 && V1 < V1
V1 < V1 && V1 < V2
V1 < V1 && V1 < V3
V1 < V1 && V1 < V4
V1 < V1 && V1 <= V1
V1 < V1 && V1 <= V2
V1 < V1 && V1 <= V3
V1 < V1 && V1 <= V4
V1 < V1 && V1 == V1
V1 < V1 && V1 == V2
V1 < V1 && V1 == V3
V1 < V1 && V1 == V4
V1 < V1 && V1 != V1
V1 < V1 && V1 != V2
V1 < V1 && V1 != V3
V1 < V1 && V1 != V4
V1 < V1 && V1 < V1
V1 < V1 && V2 < V1
V1 < V1 && V3 < V1
V1 < V1 && V4 < V1
V1 < V1 && V1 <= V1
V1 < V1 && V2 <= V1
V1 < V1 && V3 <= V1
V1 < V1 && V4 <= V1
V1 < V1 && V2 < V1
V1 < V1 && V2 < V2
V1 < V1 && V2 < V3
V1 < V1 && V2 < V4
V1 < V1 && V2 <= V1
V1 < V1 && V2 <= V2
V1 < V1 && V2 <= V3
V1 < V1 && V2 <= V4
V1 < V1 && V2 == V1
V1 < V1 && V2 == V2
V1 < V1 && V2 == V3
V1 < V1 && V2 == V4
V1 < V1 && V2 != V1
V1 < V1 && V2 != V2
V1 < V1 && V2 != V3
V1 < V1 && V2 != V4
V1 < V1 && V1 < V2
V1 < V1 && V2 < V2
V1 < V1 && V3 < V2
V1 < V1 && V4 < V2
V1 < V1 && V1 <= V2
V1 < V1 && V2 <= V2
V1 < V1 && V3 <= V2
V1 < V1 && V4 <= V2
V1 < V1 && V3 < V1
V1 < V1 && V3 < V2
V1 < V1 && V3 < V3
V1 < V1 && V3 < V4
V1 < V1 && V3 <= V1
V1 < V1 && V3 <= V2
V1 < V1 && V3 <= V3
V1 < V1 && V3 <= V4
V1 < V1 && V3 == V1
V1 < V1 && V3 == V2
V1 < V1 && V3 == V3
V1 < V1 && V3 == V4
V1 < V1 && V3 != V1
V1 < V1 && V3 != V2
V1 < V1 && V3 != V3
V1 < V1 && V3 != V4
V1 < V1 && V1 < V3
V1 < V1 && V2 < V3
V1 < V1 && V3 < V3
V1 < V1 && V4 < V3
V1 < V1 && V1 <= V3
V1 < V1 && V2 <= V3
V1 < V1 && V3 <= V3
V1 < V1 && V4 <= V3
V1 < V1 && V4 < V1
V1 < V1 && V4 < V2
V1 < V1 && V4 < V3
V1 < V1 && V4 < V4
V1 < V1 && V4 <= V1
V1 < V1 && V4 <= V2
V1 < V1 && V4 <= V3
V1 < V1 && V4 <= V4
V1 < V1 && V4 == V1
V1 < V1 && V4 == V2
V1 < V1 && V4 == V3
V1 < V1 && V4 == V4
V1 < V1 && V4 != V1
V1 < V1 && V4 != V2
V1 < V1 && V4 != V3
V1 < V1 && V4 != V4
V1 < V1 && V1 < V4
V1 < V1 && V2 < V4
V1 < V1 && V3 < V4
V1 < V1 && V4 < V4
V1 < V1 && V1 <= V4
V1 < V1 && V2 <= V4
V1 < V1 && V3 <= V4
V1 < V1 && V4 <= V4
V1 < V1 or V1 < V1
V1 < V1 or V1 < V2
V1 < V1 or V1 < V3
V1 < V1 or V1 < V4
V1 < V1 or V1 <= V1
V1 < V1 or V1 <= V2
V1 < V1 or V1 <= V3
V1 < V1 or V1 <= V4
V1 < V1 or V1 == V1
V1 < V1 or V1 == V2
V1 < V1 or V1 == V3
V1 < V1 or V1 == V4
V1 < V1 or V1 != V1
V1 < V1 or V1 != V2
V1 < V1 or V1 != V3
V1 < V1 or V1 != V4
V1 < V1 or V1 < V1
V1 < V1 or V2 < V1
V1 < V1 or V3 < V1
V1 < V1 or V4 < V1
V1 < V1 or V1 <= V1
V1 < V1 or V2 <= V1
V1 < V1 or V3 <= V1
V1 < V1 or V4 <= V1
V1 < V1 or V2 < V1
V1 < V1 or V2 < V2
V1 < V1 or V2 < V3
V1 < V1 or V2 < V4
V1 < V1 or V2 <= V1
V1 < V1 or V2 <= V2
V1 < V1 or V2 <= V3
V1 < V1 or V2 <= V4
V1 < V1 or V2 == V1
V1 < V1 or V2 == V2
V1 < V1 or V2 == V3
V1 < V1 or V2 == V4
V1 < V1 or V2 != V1
V1 < V1 or V2 != V2
V1 < V1 or V2 != V3
V1 < V1 or V2 != V4
V1 < V1 or V1 < V2
V1 < V1 or V2 < V2
V1 < V1 or V3 < V2
V1 < V1 or V4 < V2
V1 < V1 or V1 <= V2
V1 < V1 or V2 <= V2
V1 < V1 or V3 <= V2
V1 < V1 or V4 <= V2
V1 < V1 or V3 < V1
V1 < V1 or V3 < V2
V1 < V1 or V3 < V3
V1 < V1 or V3 < V4
V1 < V1 or V3 <= V1
V1 < V1 or V3 <= V2
V1 < V1 or V3 <= V3
V1 < V1 or V3 <= V4
V1 < V1 or V3 == V1
V1 < V1 or V3 == V2
V1 < V1 or V3 == V3
V1 < V1 or V3 == V4
V1 < V1 or V3 != V1
V1 < V1 or V3 != V2
V1 < V1 or V3 != V3
V1 < V1 or V3 != V4
V1 < V1 or V1 < V3
V1 < V1 or V2 < V3
V1 < V1 or V3 < V3
V1 < V1 or V4 < V3
V1 < V1 or V1 <= V3
V1 < V1 or V2 <= V3
V1 < V1 or V3 <= V3
V1 < V1 or V4 <= V3
V1 < V1 or V4 < V1
V1 < V1 or V4 < V2
V1 < V1 or V4 < V3
V1 < V1 or V4 < V4
V1 < V1 or V4 <= V1
V1 < V1 or V4 <= V2
V1 < V1 or V4 <= V3
V1 < V1 or V4 <= V4
V1 < V1 or V4 == V1
V1 < V1 or V4 == V2
V1 < V1 or V4 == V3
V1 < V1 or V4 == V4
V1 < V1 or V4 != V1
V1 < V1 or V4 != V2
V1 < V1 or V4 != V3
V1 < V1 or V4 != V4
V1 < V1 or V1 < V4
V1 < V1 or V2 < V4
V1 < V1 or V3 < V4
V1 < V1 or V4 < V4
V1 < V1 or V1 <= V4
V1 < V1 or V2 <= V4
V1 < V1 or V3 <= V4
V1 < V1 or V4 <= V4

192
1 * 1 * 1 * 2 * 4 * 6 * 4
Luego variarían las cosas que están en la izquierda, o sea, así debería ser:
4 * 6 * 4 * 2 * 4 * 6 * 4

Luego se agregarían partes, como ya se ha visto.
V1 < V1 && V1 < V1 or V1 < V1
V1 < V1 && V1 < V1 or V1 < V2
V1 < V1 && V1 < V1 or V1 < V3
etc.
6 * 6 * 6 * 2 * 6 * 6 * 6 * 2 * 6 * 6 * 6

NOTA: Luego del símbolo "!=" viene ">" y luego "=>" pero yo los invertí ("<" y "<=") y también al orden de las variables. Puede ser confuso a la vista pero no hay problema con eso.

Esto es lo que obtuve:
Citar
V1 < V1
(ok)
V2 <= V2
V1 < V1 && V1 < V1
(ok)
V1 < V1 && V4 <= V4
V1 < V1 or V1 < V1
V1 < V2 or V1 < V1
V1 < V3 or V1 < V1
V1 < V4 or V1 < V1
(eso está mal)
V4 <= V4 or V1 < V1
V1 < V1 && V1 < V1 or V1 < V1
(esto está mal también)
El 1er error es que se salteó las combinaciones
V1 < V2 && V1 < V1
V1 < V3 && V1 < V1
V1 < V4 && V1 < V1
O sea, es como si hubiera hecho
1111464
1112111
1122111
1132111
1142111
o sea... en el 1er número, desde el 2 todo estaba al máximo, como si fuese
1119999
pero en vez de hacer
1112111
1112112
1112113
1112114
aumentó las cosas de la izquierda.

El 2ndo error es que pasó de
4642111
a
11111112111

Es horroroso. Es más o menos como si hubiese hecho
9999111
10090000
O sea se salteó cosas y no reseteó un número. Son 2 errores. Debería ser
4642464
11111111111

Este es el código (action script de Macromedia Flash 5 if that really matters)
Código:
Escena 1
   actions for fotograma 1
      // Subcondiciones en la condición.
      SCs = 1;
      // Valores de las partes de la SC.
      SC1P1 = 1;
      SC1P2 = 1;
      SC1P3 = 0;
      // Cosas para evitar ifs.
      Op1 = " < ";
      Op2 = " <= ";
      Op3 = " == ";
      Op4 = " != ";
      Op5 = " > ";
      Op6 = " => ";
      Rel1 = " && ";
      Rel2 = " or ";
      Cursor1 = 1;
      Cursor2 = 3;
      function PrintCond () {
         Cursor3 = 1;
         Print = "";
         while (Cursor3<SCs) {
            if (eval("SC"+Cursor3+"P2")<5) {
               Print = "V"+eval("SC"+Cursor3+"P1")+eval("Op"+eval("SC"+Cursor3+"P2"))+"V"+eval("SC"+Cursor3+"P3")+eval("Rel"+eval("SC"+Cursor3+"P4"))+Print;
            } else {
               Print = "V"+eval("SC"+Cursor3+"P3")+eval("Op"+(eval("SC"+Cursor3+"P2")-4))+"V"+eval("SC"+Cursor3+"P1")+eval("Rel"+eval("SC"+Cursor3+"P4"))+Print;
            }
            Cursor3 = Cursor3+1;
         }
         if (eval("SC"+Cursor3+"P2")<5) {
            Print = Print+"V"+eval("SC"+Cursor3+"P1")+eval("Op"+eval("SC"+Cursor3+"P2"))+"V"+eval("SC"+Cursor3+"P3");
         } else {
            Print = Print+"V"+eval("SC"+Cursor3+"P3")+eval("Op"+(eval("SC"+Cursor3+"P2")-4))+"V"+eval("SC"+Cursor3+"P1");
         }
         trace (Print);
      }
   actions for fotograma 2
      if (Cursor2 == 1 or Cursor2 == 3) {
         MaxValor = SCs*2;
      } else if (Cursor2 == 2) {
         MaxValor = 6;
      } else {
         MaxValor = 2;
      }
      if (eval("SC"+Cursor1+"P"+Cursor2)<MaxValor) {
         set ("SC"+Cursor1+"P"+Cursor2, eval("SC"+Cursor1+"P"+Cursor2)+1);
         PrintCond();
         Cursor2 = 3;
      } else {
         set ("SC"+Cursor1+"P"+Cursor2, 1);
         if (Cursor2>1) {
            Cursor2 = Cursor2-1;
         } else if (Cursor1>1) {
            Cursor1 = Cursor1-1;
            Cursor2 = 4;
         } else {
            set ("SC"+SCs+"P4", 1);
            SCs = SCs+1;
            Cursor1 = SCs;
            Cursor2 = 3;
            set ("SC"+SCs+"P1", 1);
            set ("SC"+SCs+"P2", 1);
            set ("SC"+SCs+"P3", 1);
            PrintCond();
         }
      }
   actions for fotograma 3
      gotoAndPlay (2);
Lo voy a revisar pero si alguien ve fácil cómo corregirlo, bien por él. Y si me dice acá pronto cómo se haría dicha corrección, buenísimo.
907  Foros Generales / Foro Libre / Re: Ayuda: Hallar texto en japonés, o copiarlo/traducirlo de imagenes. en: 12 Agosto 2018, 06:07 am
Gracias Orubatosu.

https://www.newocr.com/, lo acabo de probar con tus imágenes y ayudan bastante.
Sí, ayer luego de hacer el tema llegué a eso mismo.

Luego de varias correcciones la 1era oración me quedó:
か〈しとぴら の ぉ〈 こは、 ル~スたちが、
ぁちたちから うぼってきた、 ざいほうと ともに、 にぶい いろに ひかる、 ぶきみな にんぎょうが、
かざられていた。

Lo cual fue traducido a:
Well, this is where Rushes,
Both are squeezed out of our lives, both of us have a brilliant brunch dancing,
It was held over.

Pero fue acomodar las tabulaciones así:
か〈しとぴら の ぉ〈 こは、 ル~スたちが、ぁちたちから うぼってきた、 ざいほうと ともに、 にぶい いろに ひかる、 ぶきみな にんぎょうが、かざられていた。

Y me dice:
Was this review helpful? Yes Problem with this review? Wednesday, October 31st, 2009 Lucas was sitting on top of each other, both rushing and falling out of her,

Parece una pavada pero corregir las letras me toma mucho tiempo.
908  Foros Generales / Foro Libre / Re: Qué es la misoginia y como reconocerla en: 11 Agosto 2018, 03:54 am
Antes de que todo el asunto del feminismo empezara a cobrar fuerza yo quizá lo asociaba con el llamado feminazismo, porque "igualitarismo" no era, era "feminismo", o sea, sexo femenino nada más... Pero resulta que no. Bueno. Me dijeron que lo extremo se llamaba hembrismo. No obstante hace un tiempo vi un video de una feminista o lo que sea, según la cual el hembrismo sería la actitud con la que las mujeres permiten o fomentan el machismo. Conclusión: Parece que no puede haber una palabra para expresar un "machismo/dictadura feminista". ¿Matriarcales? Pero ser patriarcal no es lo mismo que machista creo. Tampoco entonces matriarcal sería lo mismo que "hembrista".
909  Foros Generales / Foro Libre / Ayuda: Hallar texto en japonés, o copiarlo/traducirlo de imagenes. en: 11 Agosto 2018, 02:42 am
El texto se ve en la versión japonesa del juego 8 Eyes de NES.

Aquí hay parte:


El resto aquí:
https://www25.atwiki.jp/famicomall/pages/300.html

Hay una versión en inglés del juego pero si uno lee la historia que dice el manual, la wikipedia, y en definitiva todo lo que hallé distinto a japonés, y luego lee la historia que aparece en páginas japonesas (eso no está en una imagen, por eso lo pude traducir con Chrome) nota una diferencia abismal, por lo que la "traducción" que hayan puesto en dicha versión puede que sea distinta a lo que corresponde.

Como dice el título me serviría:
A- Hallar el texto en japonés o pistas para hallarlo, o sea, no en una imagen sino que "normal", cosa de poder copiarlo y pegarlo en un traductor de textos así.
El juego en japonés se escribe:
エイト・アイズ
Usando el traductor lo busqué conjuntamente con "ending", "final", "end", o sea, esas palabras pero en japonés, pero por ahora no hallé lo que busco. (Bastante normal: ¿Quién escribiría el texto si existen las imagenes?).
También usando una página para escribir en japonés escribí parte del texto y lo busqué con el nombre del juego pero no me apareció algo. Escribir el texto me pareció desagradable y largo, o sea, cada letra hay que buscar dónde está en el abecedario, pero algunas son un poco distintas del juego, y encima la página tiene 2 abecedarios y cuando cambias se borra lo escrito (se puede copiar y pegar). O sea, esta es la página:
https://www.lexilogos.com/keyboard/japanese.php
...posiblemente hay otras mejores pero por ahora sólo probé esa.
B- Un link a un programa que capte el texto de las imagenes de modo que pueda copiarlo y pegarlo en otro lado.
C- Que alguien traduzca el texto de las imagenes de la "estatua" que aparecen en la página. Y de paso esta:
http://tn.smilevideo.jp/smile?i=25276311.M
Fue hecha por videogamer/guider japonés. La estatua original no tiene una esvástica, pero puede que tenga sentido porque en el juego hay un alemán que desaparece, y cuya arma se parece a una:
https://img.webme.com/pic/p/portalnes-8eyes/8eyes_067_b_german.png
Además en Japón ese símbolo tiene otro significado.

Gracias.


¿Para qué o por qué es esto?
Quiero hacer un videojuego que mezcle varios personajes, lugares, historia, etc, de videojuego de NES y otras máquinas. El 1er juego sería 8 Eyes, porque es de la 1era consola que jugué y es el juego que más me gustó dentro de los que empiezan con un número, o sea, voy por consola-abecedario.
Quisiera que la historia sea coherente a la versión japonesa, porque la yanquie tiene varios puntos flojos (ej: Un tipo restaura al mundo, da 8 gemas a 8 dukes, y los 8 lo traicionan ¿es genio o boludo?), aunque la japonesa no se queda muy atrás (¿James Bond con un halcón y una espada?), o sea, probablemente ponga ambas versiones xD pero necesito saber si la "estatua" de la japonesa dice algo importante o no (como qué es esa "estatua": En la yanquie no tiene mucho sentido, y en la japonesa podría ser el demonio que Ruth intentaba convocar pero no tiene sentido que Bond hable con él). En la versión de usa, no.
910  Foros Generales / Foro Libre / Re: Qué es la misoginia y como reconocerla en: 9 Agosto 2018, 07:27 am
Acabo de ver una acusación a alguien en otro foro, por ejemplo porque dice que "las mujeres no pueden tener esos brazos", en referencia a un dibujo de un videojuego. A ver si ese entra en la categoría xD y yo.

Citar
1. Cosificación del cuerpo de la mujer
Han explicado bien esto y no es mi caso pero podrían dividirlo en 2 y así ser más claros, porque sino causan confusión. Por ejemplo:
Percibir a la mujer meramente como unas propiedades estéticas o una especie de herramienta.

Sin embargo la misoginia o como se escriba es rechazo a la mujer, o sea, que no les gusten ni siquiera por lo estético.

No hay que confundir el rechazo con el desear que cumplan cierta función.

Citar
Puritanismo selectivo
Esto dice poco y nada.
Exigir a la mujer un "ascetismo" que no se exige al hombre.

Me parece bien que las mujeres "provoquen" todo lo que quieran, sin embargo decir lo contrario me parece un poco justificado porque los hombres somos más excitables y entonces... Es como si se ostentara comida frente a alguien hambriento, agilidad frente a un paralítico, etc, entonces por una cuestión de respeto mutuo por el "enojo" que pueden provocar... hay que ocultar un poco.
¿Somos más excitables naturalmente o debido a las propagandas, etc? Cuestión.

Gran poder, gran responsabilidad. La belleza es un poder.

Citar
La lógica que hay detrás de este tipo de pensamientos es simple: como el valor de la mujer está relacionado básicamente con lo estético y por su capacidad para dar descendencia, todo lo que pueda interpretarse como una tendencia a "compartir" estas dos cualidades con alguien que no sea la pareja diluye el valor de la que lo hace. El hombre, sin embargo, tiene valor más allá de su aspecto y de su papel reproductor, por lo que no pasa nada si expresa su sexualidad de manera más o menos visible.
Actualmente la mayoría de los que piensan prácticamente (A) "si una mujer no es santa entonces es p**a" creo que lo hacen no por pensar que "la mujer sólo sirve para..." sino porque les dijeron mucho que debían pensar así (A).

Citar
3. Tendencia a animar a otras personas para que cosifiquen

La misoginia no es algo que se acostumbre a vivir de manera aislada, sino que está ligada a un modo de ver las cosas que se intenta compartir con los demás. Eso hace, por ejemplo, que en las personas misóginas sea habitual animar a otras personas a hacer comentarios despectivos o desagradables sobre desconocidas que pasan cerca.
En este caso el resumen no va con la ampliación. Están confundiendo lo de "tratar como arte o herramienta" con "hacer comentarios despectivos o desagradables". Se podría interpretar como "tratarlas como bolsa de box para insultos, herramienta", sí, pero... si hay quejas sobre las mujeres no es necesariamente porque se las considere "arte o herramienta", puede ser por simple asco. Los que se quejan de las cucarachas no las creen una herramienta ni arte.

En cuanto a esto como medidor de misoginia, no sé... alguien no es más X por decir a otros que lo sean, depende de por qué lo hace. Lo que importa es el nivel de odio, que se manifiesta de distintas formas. Algunos pueden intentar digamos que otros las odien, por hacerles daño o por quitarles ciertos privilegios o alejarlas de su vida, pero todo eso se puede hacer también en solitario o de callado. También se puede querer alejarse de ellas pacíficamente, sin querer "arrastrar" a otros consigo.

Citar
4. Uso de la violencia machista

El uso de la violencia machista, sea física, verbal o simbólica, es la manifestación más evidente de misoginia. Este tipo de violencia se dirige hacia las mujeres de manera sistemática por el hecho de serlo, y es uno de los principales motivos por los que el feminismo reivindica la necesidad de garantizar los derechos de las mujeres.
Continúa la confusión, ya ni siquiera entiendo bien de qué están hablando.
Cuando se golpea o amenaza a una mujer por el hecho de ser mujer, eh... sí, supongo que hay misoginería, pero no me cierra del todo que sea tan simple, por ejemplo si a una mujer se le dice que no muestre las tetas en un foro por ejemplo que sino se la va a expulsar entonces se la está amenazando por el hecho de poder mostrar las tetas que es algo que en general sólo lo pueden hacer las mujeres. O sea se entiende bastante bien la frase pero habría que aclarar un poco más. El punto ahí no es un castigo por mostrar las tetas, sino el recibir una amenaza por tenerlas, amenaza que también se podría considerar un castigo. ¿Cómo se arregla la frase? No sé, bueno, me quedo con esto entonces:
Cuando se golpea o amenaza a una mujer por el hecho de ser mujer, hay misoginería.

¿Pero qué tiene que ver eso con el machismo? Quien golpea a la mujer puede ser una mujer ¿sería machista también? ¿sólo por el hecho de golpear a una mujer por ser mujer o sólo si además quien golpea desea un "patriarcado"? Supongo que da igual, pero es que se puede golpear a alguien porque se es antisocial ¿no implicaría ser misógino? Supongo que no, pero entonces la misoginia no es simplemente odio a la mujer sino también aceptación del hombre. Sino se puede ser misogino y antisocial y ocurre el lío que mencioné arriba.
Lo de machista es confuso ¿se aplica sólo a los hombres o no? Ya sé que es raro que una mujer se odie pero si sólo se ataca a los hombres en este punto entonces hay que calificarlo de algún modo ¿antihombres?

Citar
5. Criminalización sistemática de las víctimas de violencia machista

Las personas misóginas tienden a buscar la responsabilidad de la violencia machista en las víctimas. Entienden que estos episodios de agresión se deben a que la mujer no va con el suficiente cuidado o provoca a los demás con su manera de vestir, o bien, simplemente, se da por supuesto que las acusaciones de violencia son falsas sin disponer de pruebas consistentes que sugieran esa posibilidad.

De este modo, se consigue un doble objetivo. Por un lado, se oculta la violencia hacia las mujeres, y por el otro, se legitima el poder que se tiene sobre el cuerpo de estas, al defender la idea de que deben adaptarse a unos roles de género muy definidos.
Supongo que esto pasa, pero la cuestión es el nivel de odio no las justificaciones que dan del mismo. Si estos puntos son para reconocer a escondidos, vale, pero si no dicen cómo medir o algo similar entonces... Es que en teoría esto que comentan lo puede hacer alguien confundido, no porque odie a las mujeres.

Lo de que ocultan la violencia machista ¿cómo sería? ¿es cuando dicen que las acusaciones son falsas? Pero no sé si logran "dos objetivos", o sea, si se oculta la violencia entonces no se legitima el poder que comentan, y si se legitima entonces la violencia no se oculta. Lo que sí logran es normalizar ambas cosas, pero en teoría la violencia está rechazada, se están creando leyes contra ella.

Citar
6. Marginación de la mujer

No resulta extraño que las personas misóginas tiendan a rechazar la idea de relacionarse con mujeres más allá del ámbito profesional o de las transacciones económicas. En la actualidad incluso hay un movimiento llamado Men Go Their Own Way en el que se reivindica un estilo de vida alejado de las mujeres y del matrimonio tradicional.
No hay que confundir "no relacionarse con" con "marginar". No veo bien la diferencia pero... una cosa es que Juan cree un club donde puedan ir todos pero Juan no hable con mujeres casi, y otra cosa es que Juan ni siquiera las deje entrar. Yo rechazo las películas románticas en general pero no pretendo que se prohíban o algo así xD


Bueno me voy a comer, otro día capaz que sigo, pero suelo ser un "odiante de la ambigüedad" como habrán notado. De las mujeres yo no diría, pero es complicado, capaz que a veces estoy como enojado porque no puedo tener algo con ellas y entonces no les doy bola. O al revés: No quiero tener algo con ellas así que trato de mostrar mucho desinterés. No tengo muchas habilidades o inteligencia social que digamos xD
Páginas: 1 ... 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 [91] 92 93 94 95
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines