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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Foros Generales
| |-+  Dudas Generales (Moderador: engel lex)
| | |-+  ¿Sin entreverarse cómo hacer una lista de posibilidades?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Sin entreverarse cómo hacer una lista de posibilidades?  (Leído 2,065 veces)
Tachikomaia


Desconectado Desconectado

Mensajes: 1.218


Superhacker (es broma xD )


Ver Perfil
¿Sin entreverarse cómo hacer una lista de posibilidades?
« en: 16 Enero 2024, 07:11 am »

Estoy usando un método que me ha gustado bastante pero tiene un defecto que quisiera me ayuden a evitar, o que me digan un método mejor.

Lo que estoy listando son posibles variables en juegos sencillos y el método es que estoy usando es:
Paso 1: Se escriben las posibilidades más básicas en la columna 1.
Paso 2: En la cabeza de la columna 2 se escribe un cambio aplicable a alguna de las posibilidades.
Paso 3: En las coordenadas correspondientes se aplica el cambio si es posible.

Paso 4: Se crea otra hoja (Excel).
Paso 5: De la hoja anterior, la columna 1 se copia a la nueva.
Paso 6: De la hoja anterior, las posibilidades surgidas se copian a la nueva, ordenadas según cuántas cosas fueron modificadas desde las originales.
Repetir desde el paso 2.


Entiendo que parezca una pavada pero cada vez me entrevero más en el paso 6.

Las imágenes mostradas son de la hoja 1 y 2, esta es de la 7 y al lado la 8:

Es decir, tengo una tabla como la de la izquierda y debo hacer que quede como la que está en la derecha. ¿Cómo hacerlo sin entreverarse?

Porque, al principio hacía esto:
En cuanto al paso 5 y 6, copiaba la hoja entera. Las filas en que surgió una posibilidad, las copiaba e insertaba en un nivel posterior. Luego regresaba a lo que copié y borraba el contenido de la columna 2 (tras modificar la cabeza, el contenido cambiará también).
Pero me entreveraba un poco, por estar moviendo la pantalla hacia arriba y abajo, me entrevero en cuanto a qué copié y a dónde debo copiarlo.

Ahora intenté esto:
1: Copio el 1er nivel de la columna 1.
2: Copio el siguiente nivel no copiado.
3: Copio las posibilidades surgidas en la columna 2 del nivel anterior.
Pero igual me entrevero.

Antes de empezar el tema pensé en poner otra columna que diga los niveles, y entonces ordenar la tabla por eso, pero por ejemplo las de nivel 2 que quiero poner debajo de las otras de ese nivel, estarán arriba, así que no sirve, o en definitiva no veo que tenga mucho control de todo esto, dudo que sirva. Ahora se me ocurre que puedo escribir cosas como 2a, 2b, etc, para que se ordenen así, pero igual no me fío mucho.

Finalmente, mientras hacía el tema se me ocurrió que en vez de copiar podría copiar y luego cortar, de ese modo no podría entreverarme en cuanto a qué ordené y qué me falta :P pero bueno, publico el tema igual a ver si me dicen métodos mejores y si a alguien le sirve esto fenómeno.

Estaría bueno poder programar generaciones de listas de posibilidades, sean de lo que sea. No sé si es tan complicado, habría expresiones con distintas cantidades de variables y según sus valores se mostrarían unas palabras u otras ¿no? ¿alguien da un pseudocódigo sobre eso?


« Última modificación: 16 Enero 2024, 07:13 am por Tachikomaia » En línea

TickTack


Desconectado Desconectado

Mensajes: 428


CipherX


Ver Perfil
Re: ¿Sin entreverarse cómo hacer una lista de posibilidades?
« Respuesta #1 en: 26 Enero 2024, 12:02 pm »

Uff. ¡Que complicado para mí!

Finalmente, mientras hacía el tema se me ocurrió que en vez de copiar podría copiar y luego cortar, de ese modo no podría entreverarme en cuanto a qué ordené y qué me falta :P
La verdad es que no se me ocurre una alternativa mejor.

Sino pueba utilizando estructuras de control y condicionales para generar y organizar las listas de posibilidades.

Estaría bueno poder programar generaciones de listas de posibilidades, sean de lo que sea. No sé si es tan complicado, habría expresiones con distintas cantidades de variables y según sus valores se mostrarían unas palabras u otras ¿no?
Si, estaría bueno. Podés explorar el uso de macros y Visual Basic para Aplicaciones (VBA) para automatizar este proceso.


En línea

Tachikomaia


Desconectado Desconectado

Mensajes: 1.218


Superhacker (es broma xD )


Ver Perfil
Re: ¿Sin entreverarse cómo hacer una lista de posibilidades?
« Respuesta #2 en: 26 Enero 2024, 12:41 pm »

Ya que respondieron comento algo que hice, justo hace un rato pero necesita varios ajustes:
Código
  1.   actions for fotograma 1
  2.      // Frames.
  3.      V1 = 0;
  4.      Max1 = 7;
  5.      V1Texto1 = "Casos de ";
  6.      V1Texto2 = "1er Frame en que ";
  7.      V1Texto3 = "Frames en que ";
  8.      V1Texto4 = "En 10 Frames, mínimos casos de ";
  9.      V1Texto5 = "En 10 Frames, máximos casos de ";
  10.      V1Texto6 = "En 10 Frames, mínima cantidad de Frames en que ";
  11.      V1Texto7 = "En 10 Frames, máxima cantidad de Frames en que ";
  12.      // Mov.
  13.      V2 = 1;
  14.      Max2 = 4;
  15.      V2Texto1 = "";
  16.      V2Texto2 = "Mov + ";
  17.      V2Texto3 = "Frenada + ";
  18.      V2Texto4 = "Moviéndose + ";
  19.      // Clic.
  20.      V3 = 1;
  21.      Max3 = 4;
  22.      V3Texto1 = "";
  23.      V3Texto2 = "Clic + ";
  24.      V3Texto3 = "Desclic + ";
  25.      V3Texto4 = "Cliqueando + ";
  26.      // Clac.
  27.      V4 = 1;
  28.      Max4 = 4;
  29.      V4Texto1 = "";
  30.      V4Texto2 = "Clac + ";
  31.      V4Texto3 = "Desclac + ";
  32.      V4Texto4 = "Claqueando + ";
  33.      // Final.
  34.      V5 = 1;
  35.      Max5 = 3;
  36.      V5Texto1 = "Nada";
  37.      V5Texto2 = "Algo";
  38.      V5Texto3 = "Lo que sea";
  39.      Puntero = 0;
  40.      Completado = "No";
  41.      function Variar () {
  42.         Puntero = Puntero+1;
  43.         Nombre = "V"+Puntero;
  44.         Valor = eval(Nombre);
  45.         Max = eval("Max"+Puntero);
  46.         // ¿La variable puede aumentar?
  47.         if (Valor<Max) {
  48.            // Sí, aumentarla:
  49.            set (Nombre, Valor+1);
  50.            // Obtener suma:
  51.            Suma = V1+V2+V3+V4+V5;
  52.            // Obtener texto:
  53.            Texto = eval("V1Texto"+V1)+eval("V2Texto"+V2)+eval("V3Texto"+V3);
  54.            Texto = Suma+": "+Texto+eval("V4Texto"+V4)+eval("V5Texto"+V5);
  55.            trace (Texto);
  56.            Puntero = 0;
  57.            // Esta función se repetirá.
  58.         } else {
  59.            // No, resetearla:
  60.            set (Nombre, 0);
  61.            // ¿Hay otra variable aumentable?
  62.            if (Puntero<5) {
  63.               // Podríhacer, apuntar a esa.
  64.               // Esta función se repetirá.
  65.            } else {
  66.               // Esta variable se pone para que del F3 no vuelva al 2.
  67.               Completado = "Sí";
  68.               stop ();
  69.            }
  70.         }
  71.      }
  72.   actions for fotograma 2
  73.      Variar();
  74.   actions for fotograma 3
  75.      Variar();
  76.      if (Completado == "No") {
  77.         gotoAndPlay (2);
  78.      }
  79.  

Primeros traces:
Citar
5: Casos de Nada
6: 1er Frame en que Nada
7: Frames en que Nada
8: En 10 Frames, mínimos casos de Nada
9: En 10 Frames, máximos casos de Nada
10: En 10 Frames, mínima cantidad de Frames en que Nada
11: En 10 Frames, máxima cantidad de Frames en que Nada
5: Mov + Nada
6: Casos de Mov + Nada
7: 1er Frame en que Mov + Nada
8: Frames en que Mov + Nada
9: En 10 Frames, mínimos casos de Mov + Nada
10: En 10 Frames, máximos casos de Mov + Nada
11: En 10 Frames, mínima cantidad de Frames en que Mov + Nada
12: En 10 Frames, máxima cantidad de Frames en que Mov + Nada
6: Frenada + Nada

Repito: Necesita varios ajustes, en un tiempo los hago:
> Las sumas están mal. Normal porque el mínimo valor de cada cosa es 1, al valor habría que restarle 5.
> Produce combinaciones inválidas (Casos de Nada). Es difícil evitar esto, pero creo que serán pocos casos que puedo quitar manualmente.
> No siempre está bien expresado ("1er Frame en que Nada", falta agregar " ocurrió"). También es difícil de lograr aquí (porque no siempre debe hacerse lo mismo), pero no es tan importante y con reemplazar de Excel lo puedo arreglar creo.
> Produce combinaciones sin inicio (Mov + Nada). Creo que porque puse que el Puntero se reseteara a 0, pero debe ser 1.

Agregué un par de casos así que hubiera tenido que rehacer todo lo de Excel, así que decidí probar programarlo y fue más fácil de lo que pensé.
En línea

TickTack


Desconectado Desconectado

Mensajes: 428


CipherX


Ver Perfil
Re: ¿Sin entreverarse cómo hacer una lista de posibilidades?
« Respuesta #3 en: 26 Enero 2024, 18:16 pm »

Produce combinaciones sin inicio (Mov + Nada). Creo que porque puse que el Puntero se reseteara a 0, pero debe ser 1.
Hace mucho que no dedico tiempo en esas cosas. Pero revisa la lógica de tu script y ajusta las condiciones y operaciones en consecuencia. Por ejemplo, para corregir las sumas, podrías restar 5 a los valores en lugar de restar 1. Para evitar la generación de combinaciones inválidas, podrías agregar condiciones que excluyan ciertas combinaciones no deseadas. Respecto a la expresión inadecuada, podrías ajustar la generación de texto para que sea gramaticalmente correcta.

Para proporcionarte un pseudocódigo específico, necesitaríamos más detalles de los escribiste sobre el problema y que quizás todavía no hayas mencionado para que te podamos dar una ayuda más precisa.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines