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 Temas
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 36
71  Sistemas Operativos / Windows / ¿Qué sobra en mi PC y cómo lo arreglo? en: 19 Enero 2024, 21:49 pm
No entiendo por qué se pone tan lento a veces. Tomé estas fotos al administrador de tareas, indicando que muestre los procesos de todos los usuarios porque por defecto no lo hace:




Veo por ejemplo que está Firefox, pero yo no lo uso ¿cómo quito que se actualice sólo? Debería hacerlo sólo cuando lo abro, cosa que no hago en años. Lo tengo por las dudas, además se supone que es una versión antigua porque en un tiempo los certificados no me funcionaban o algo así. Si se actualiza no tiene sentido.

Nero tampoco tendría que estarse actualizando, que lo haga cuando lo use...

Hay muchas cosas que no sé qué son.
72  Foros Generales / Foro Libre / ¿Neuronas de sanguijuela en circuitos tiene sentido? en: 18 Enero 2024, 08:00 am
Hace tiempo pregunté algo por ahí (nada que ver con poner cosas vivas en circuitos) y me dieron esto:
https://diarioti.com/neuronas-de-sanguijuela-en-computadoras/5189

Si hacen eso, que la máquina empiece a actuar de modo muy raro o peligroso ya no me parece tan imposible. ¿Realmente pueden predecir o controlar lo que harán esas neuronas? ¿realmente son más rápidas que lo que usan las PC y demás? ¿alguien sabría por qué? Pues de algún moido las neuronas también harán cálculos ¿no? Dudo que hagan las cosas por simple atracción como si fuesen imanes y metales ¿o sí? No sé, todo muy raro.

Y eso es de 1999, vaya a saber en qué quedó.

Algo más:
https://www.levante-emv.com/tendencias21/2023/03/03/ordenadores-construidos-neuronas-humanas-vuelta-84044439.html
73  Programación / Programación General / ¿Cómo hacer programas que resuelvan dudas cada vez más difíciles de resolver? en: 17 Enero 2024, 04:49 am
Más o menos en 2008 me hice una pregunta similar pero no he cambiado tanto :P

Ejemplos de dudas sencillas:
¿Qué número es mayor que 10?
¿Qué número entero del 1 al 9 elegí?

Son sencillas porque:
- Simplemente hay que decir un número entero.
- Las condiciones que debe cumplir la solución son fáciles de expresar y chequear.

Con fuerza bruta se pueden resolver:
Decir un número acorde, muy bajo/alto. Si cumple la condición mostrarlo y sino disminuirlo/aumentarlo.

Lo complicado empieza al intentar complicar la duda. ¿Cómo se pueden complicar las dudas?

Pensé en cuales son las variables de las dudas, aumentar su cantidad y complejidad... A continuación dejo una lista sobre eso:
Citar
- Mínima cantidad de Variables de la situación.
- Máxima cantidad de Variables de la situación.
- Posibles cantidades de Variables de la situación.
- Mínima complejidad de las Variables de la situación.
- Máxima complejidad de las Variables de la situación.
- Posibles cantidades de complejidades de Variables de la sit.
- Mínimo rango de valores de las Variables de la situación.
- Máximo rango de valores de las Variables de la situación.
- Posibles rangos de valores de las Variables de la situación.

- Mínima cantidad de Candidatos.
- Máxima cantidad de Candidatos.
- Posibles cantidades de Candidatos.
- Mínima complejidad de los Candidatos.
- Máxima complejidad de los Candidatos.
- Posibles cantidades de complejidades de los Candidatos.
- Mínimo rango de valores de los Candidatos.
- Máximo rango de valores de los Candidatos.
- Posibles rangos de valores de los Candidatos.

- Modo en que varían los Candidatos.

- Mínima cantidad de conds a chequear antes de aplicar al C.
- Máxima cantidad de conds a chequear antes de aplicar al C.
- Posibles cantidades de conds a chequear antes de aplicar al C.

- Mínima cantidad de modificaciones al aplicar al Candidato.
- Máxima cantidad de modificaciones al aplicar al Candidato.
- Posibles cantidades de modificaciones al aplicar el Candidato.
- Mínima complejidad de las modificaciones al aplicar al Cand.
- Máxima complejidad de las modificaciones al aplicar al Cand.
- Posibles cantidades de complejidades de mods al aplic al Cand.

- Mínima cantidad de conds a chequear antes de aplicar Efectos.
- Máxima cantidad de conds a chequear antes de aplicar Efectos.
- Posibles cantidades de conds a chequear antes de aplicar Efs.

- Mínima cantidad de Efectos.
- Máxima cantidad de Efectos.
- Posibles cantidades de Efectos.
- Mínima complejidad de los Efectos.
- Máxima complejidad de los Efectos.
- Posibles cantidades de complejidades de los Efectos.

- Mínima cantid de Aplicaciones requeridas para resolver la duda.

- Complejidad de las Pistas (0 es que no hay).

- Complejidad del Azar (0 es que no hay).

- Mínima cantidad de Condiciones que los Cands deben cumplir.
- Máxima cantidad de Condiciones que los Cands deben cumplir.
- Posibles cantidades de Condiciones que los Cands deben cumplir.
- Mínima complejidad de las Conds que los Cands deben cumplir.
- Máxima complejidad de las Conds que los Cands deben cumplir.
- Posibles cants de complejs d las Conds q los Cands deben cmplr.
Pero está incompleta, de hecho no sé cómo saber si está completa, y parece inútil, es como que en vez de ir por distintos caminos subo una montaña a ver qué caminos hay, pero cuesta subir y no avanzo por los caminos.

¿Qué me conviene hacer?

Recientemente pensé en cómo sería agregar "variables de la situación", cosa que ya había pensado un poco:
¿Qué número es mayor que X y menor que Y? 2 variables: X e Y.
¿Cual es uno de 2 números que elegí? Idem.

Esto parece que inevitablemente aumenta la cantidad de condiciones que deben chequearse, salvo que la acción o candidato use una de las variables de situación, ejemplo:
Código:
NumeroElegible1 = 878
NumeroElegible2 = 827837
etc
Candidato = 1
Si NumeroElegible(Candidato) == NumeroaAdivinar
  fin
etc
Lo cual es bastante random e inútil creo. Si fuesen palabras de un tipo, entonces tendría sentido, por ejemplo "adivina qué deporte pensé". Por esto, parecería que conviene probar aumentar las condiciones.

A ver, es que a 1era vista hay 2 opciones:
1: Ver cuales son las variables (la lista incompleta que puse) e ir agregando esas variaciones en las dudas. Agregar un efecto (algo que influye en nuestras acciones y no podemos controlar), o complicar el tipo de variable, etc. Se hacen distintas mezclas cada vez más complejas o con más ingredientes.
2: Pensar cual es la variable que conviene complicar, complicarla, pensar otra, complicarla, hacer mezclas, y repetir.

Yo intentaba lo 1ero, pero ya dije el problema.

Lo 2ndo es que no me convence mucho. Es posible agregar una condición que el número deba cumplir, y otra, y otra, y así hasta el infinito ¿pero qué utilidad tiene hacer eso?

Las condiciones serán cada vez más complejas, creo, es inevitable, no podemos estar diciendo N<X, N>Y, N<J, etc, basta con ver si X<J o qué (además esas no son variables de situación, o al menos no necesitan definirse como tales, o sería una duda más compleja de la que pienso), en cierto punto habrá que poner condiciones como "debe ser par", "debe ser capicúa", etc.

Bueno ¿condiciones cada vez más complejas entonces? Para números. Algo había hecho para eso, pero sigo prefiriendo el método 1 (completar la lista e ir mezclando todo más o menos a la vez), no sé...

GPT (no le vi utilidad en este caso):
Citar
Entiendo que estás buscando formas de complicar tus preguntas o dudas de manera interesante. Parece que has considerado dos enfoques: agregar variables a la situación o complicar las condiciones de las preguntas. Ambos enfoques tienen sus méritos, y podrías combinarlos para crear preguntas más desafiantes y variadas.

Agregar variables a la situación puede ser una opción efectiva. Por ejemplo, en lugar de preguntar simplemente por un número mayor que 10, podrías preguntar por un número mayor que X y menor que Y, donde X e Y son variables. Esto agrega un elemento de incertidumbre y requiere que el participante tenga en cuenta múltiples variables para encontrar la respuesta correcta.

Complicar las condiciones de las preguntas también puede ser interesante. En lugar de limitarte a condiciones simples como "mayor que X" o "par", puedes combinar múltiples condiciones y hacerlas más complejas. Por ejemplo, podrías preguntar por un número que sea mayor que X, divisible por Y y tenga la propiedad Z. Esto desafía al participante a considerar varias condiciones y encontrar un número que las cumpla todas.

Además de estos enfoques, también podrías considerar otros elementos para complicar tus preguntas. Algunas ideas incluyen:

1. Introducir efectos aleatorios: Agregar elementos de azar o aleatoriedad puede hacer que las preguntas sean más impredecibles. Por ejemplo, podrías pedir al participante que elija un número par mayor que X, pero agregar un efecto aleatorio que ocasionalmente permita números impares como respuestas válidas.

2. Incorporar restricciones adicionales: Además de las condiciones principales, podrías agregar restricciones adicionales que los participantes deben considerar. Por ejemplo, podrías pedir un número que cumpla ciertas condiciones pero que también esté relacionado con un tema específico, como los colores o los países.

3. Utilizar distintos tipos de variables: En lugar de limitarte a números enteros, podrías considerar otros tipos de variables, como palabras, imágenes o conceptos abstractos. Esto ampliará las posibilidades y permitirá una mayor variedad de preguntas.

En última instancia, la clave está en encontrar un equilibrio entre la complejidad y la comprensión de las preguntas. Asegúrate de que las preguntas sean desafiantes pero aún así se puedan abordar de manera razonable y lógica. Experimenta con diferentes combinaciones de variables, condiciones y elementos adicionales para crear preguntas interesantes que estimulen el pensamiento creativo y lógico.
74  Programación / Programación General / ¿Cómo los números se producirían más rápido en M.Flash 5? en: 16 Enero 2024, 17:41 pm
Si un while dura demasiado, aparece un mensaje diciendo eso, así que no quiero usar whiles largos como:
Código:
N = -1
do
  N++
  mostrar N
while N < 100
pero cortos puede ser.

Con los for supongo que ocurre lo mismo, igual no me gustan los for.

Cuando una repetición es larga, se puede hacer:
Código:
Frame 1:
N = -1
Frame 2:
N++
mostrar N
Frame 3:
Si N<100
  goto 2
Es más lento que un while pero tiene otro defecto peor: Sólo se producen números en el frame 2.

Para mejorar eso se puede hacer:
Código:
Frame 1:
N = -1
Frame 2:
N++
mostrar N
Frame 3:
N++
mostrar N
Si N<100
  goto 2
Si muestra el 101 y no se quiere, se cambia la condición por N<99 o N<=100.

Para evitar repetición de código, se puede hacer algo así:
Código
  1.   actions for fotograma 1
  2.      N = -1;
  3.      function Variar () {
  4.         N = N+1;
  5.         trace (N);
  6.         if (N == 100) {
  7.            stop();
  8.         } else if (Fram == 3) {
  9.            gotoAndPlay (2);
  10.         }
  11.      }
  12.   actions for fotograma 2
  13.      Fram = 2;
  14.      Variar();
  15.   actions for fotograma 3
  16.      Fram = 3;
  17.      Variar();

Pero mi código quiero que guarde los Ns que cumplan ciertas condiciones y que se detenga sólo cuando cada una haya sido cumplida por algún N, hago esto:
Código
  1.   actions for fotograma 1
  2.      Soluciones = 0;
  3.      N = -1;
  4.      function Variar () {
  5.         N = N+1;
  6.         C = String(N).charat(N);
  7.         trace (N+": "+C);
  8.         if (C == 0) {
  9.            if (Solfor0 == undefined) {
  10.               Solfor0 = N;
  11.               trace ("para que C sea 0 usar N: "+N);
  12.               Soluciones = Soluciones+1;
  13.            }
  14.         } else if (C == -9) {
  15.            if (Solfor9 == undefined) {
  16.               Solfor9 = N;
  17.               trace ("para que C sea -9 usar N: "+N);
  18.               Soluciones = Soluciones+1;
  19.            }
  20.         } else if (C == 4.5) {
  21.            if (Solfor4 == undefined) {
  22.               Solfor4 = N;
  23.               trace ("para que C sea 4.5 usar N: "+N);
  24.               Soluciones = Soluciones+1;
  25.            }
  26.         } else if (C == -7.2) {
  27.            if (Solfor7 == undefined) {
  28.               Solfor7 = N;
  29.               trace ("para que C sea -7.2 usar N: "+N);
  30.               Soluciones = Soluciones+1;
  31.            }
  32.         }
  33.         if (Soluciones<4) {
  34.            if (Fram == 3) {
  35.               gotoAndPlay (2);
  36.            }
  37.         } else {
  38.            trace ("para que C sea 0 usar N: "+Solfor0);
  39.            trace ("para que C sea -9 usar N: "+Solfor9);
  40.            trace ("para que C sea 4.5 usar N: "+Solfor4);
  41.            trace ("para que C sea -7.2 usar N: "+Solfor7);
  42.            stop ();
  43.         }
  44.      }
  45.   actions for fotograma 2
  46.      Fram = 2;
  47.      Variar();
  48.   actions for fotograma 3
  49.      Fram = 3;
  50.      Variar();

Por otro lado, tengo otro programa que intento que haga lo mismo pero en vez de probar los números 0, 1, 2, 3... quiero que sean 0, 1, 10, 2, 11, 100... y quiero que funcione más rápido si es posible, es decir, ya tengo un código que hace eso pero tiene el defecto de tener frames "al ped*" como mostré en el código 2, quiero aplicarle la "técnica" que mostré en el 4, o acelerarlo así de algún modo ¿cómo?

Este es el código:
Código
  1.   actions for fotograma 1
  2.      Soluciones = 0;
  3.      MinLongitud = 1;
  4.      MaxLongitud = 1;
  5.      N1 = -1;
  6.   actions for fotograma 2
  7.      Longitud = MinLongitud;
  8.   actions for fotograma 3
  9.      Nombre = "N"+Longitud;
  10.      N = eval(Nombre)+1;
  11.      if (String(N).length>Longitud) {
  12.         // El valor ya fue producido.
  13.         MinLongitud = MinLongitud+1;
  14.         gotoAndPlay (2);
  15.      } else {
  16.         // Guardar el valor en la lista correspondiente.
  17.         set (Nombre, N);
  18.         C = String(N).charat(N);
  19.         trace (N+" resulta "+C);
  20.         if (C == 0) {
  21.            if (Solfor0 == undefined) {
  22.               Solfor0 = N;
  23.               trace ("para que C sea 0 usar N: "+N);
  24.               Soluciones = Soluciones+1;
  25.            }
  26.         } else if (C == -9) {
  27.            if (Solfor9 == undefined) {
  28.               Solfor9 = N;
  29.               trace ("para que C sea -9 usar N: "+N);
  30.               Soluciones = Soluciones+1;
  31.            }
  32.         } else if (C == 4.5) {
  33.            if (Solfor4 == undefined) {
  34.               Solfor4 = N;
  35.               trace ("para que C sea 4.5 usar N: "+N);
  36.               Soluciones = Soluciones+1;
  37.            }
  38.         } else if (C == -7.2) {
  39.            if (Solfor7 == undefined) {
  40.               Solfor7 = N;
  41.               trace ("para que C sea -7.2 usar N: "+N);
  42.               Soluciones = Soluciones+1;
  43.            }
  44.         }
  45.      }
  46.   actions for fotograma 4
  47.      // ¿El último valor producido es de la lista de los más largos?
  48.      if (Longitud<MaxLongitud) {
  49.         // No, producir uno de una lista de más largos:
  50.         Longitud = Longitud+1;
  51.         gotoAndPlay (3);
  52.      } else {
  53.         // Sí, se creará un valor para una nueva lista, de valores más largos.
  54.         // La siguiente ecuación no funciona cuando MaxLongitud es 1, por eso hay un if y else.
  55.         if (MaxLongitud>1) {
  56.            set ("N"+(MaxLongitud+1), eval("N"+MaxLongitud)*10-1);
  57.         } else {
  58.            set ("N"+(MaxLongitud+1), 9);
  59.         }
  60.         MaxLongitud = MaxLongitud+1;
  61.         gotoAndPlay (2);
  62.      }
75  Foros Generales / Dudas Generales / ¿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?
76  Foros Generales / Foro Libre / ¿Conocen a Wreck-Gar? en: 9 Enero 2024, 16:24 pm


¿Les recuerda a algo?



Ni idea qué fue 1ero, pero si quieren ver una buena peli donde aparece el roboto, aprovechen aquí:
https://www.youtube.com/watch?v=CLFVnjk8yro
77  Sistemas Operativos / Windows / W7: ¿Modo fácil de que las carpetas muestren archivos ordenados por fecha? en: 8 Enero 2024, 16:35 pm
Sé que cliqueando en la cabeza o cabecera de la columna Modificado, en la vista detallada, se ordenan como quiero. Eso hago. Pero cuando muevo la carpeta hacia otra (debo hacerlo) las configuraciones de sus subcarpetas se pierden, y yo me olvido (porque se supone que están ordenadas como quiero, así suele ser, no me ando fijando a ver si están ordenadas o no) y me acaba de ocurrir que entré a un archivo de ahí pensando que era el más reciente pero no.

Lo que quisiera es que con algunos clics o algo se ordenen por fecha los archivos de todas las subcarpetas que tenga una carpeta. He probado hacerle clic derecho, recuerdo que había una opción de personalizar esta carpeta pero no la veo, veo propiedades. Ah, ya vi por casualidad, aparece si hago clic derecho estando en la carpeta, no al hacer clic en una carpeta. Bue. ¡Pero es lo mismo que propiedades! Y ahí no veo modo de hacerlo.

¿No queda más remedio que entrar en todas las subcarpetas y hacer clics en las cabeceras otra vez? No es que deba hacer este proceso seguido, pero parece absurdo y evitable.
78  Programación / Programación General / ¿Cómo logro que las flechas queden del tamaño que quiero? en: 3 Enero 2024, 08:32 am
La siguiente función se aplica en distintos sitios del programa, pero no creo que el problema esté fuera de ella, creo que el problema es la altura asignada a la flecha y cómo Flash la aplica:
Código
  1. function InsertarNodo () {
  2. Imagenes = Imagenes+1;
  3. Nodos = Nodos+1;
  4. Grafo.attachMovie("mNodo", "Nodo"+Nodos, Imagenes);
  5. // Especificar la situación que representa:
  6. set ("Grafo.Nodo"+Nodos+".EnHP", EnHP);
  7. // Insertar flecha:
  8. Imagenes = Imagenes+1;
  9. Grafo.attachMovie("mFlecha", "Flecha"+Nodos, Imagenes);
  10. // Especificar el sitio donde se insertan:
  11. PosicionY = PadrePosicionY+33;
  12. setProperty ("Grafo.Nodo"+Nodos, _y, PosicionY);
  13. setProperty ("Grafo.Flecha"+Nodos, _x, PadrePosicionX);
  14. setProperty ("Grafo.Flecha"+Nodos, _y, PadrePosicionY+6.5);
  15. Hijos = Hijos+1;
  16. if ( Hijos == 1 ) {
  17. PosicionX = PadrePosicionX;
  18. setProperty ("Grafo.Nodo"+Nodos, _x, PosicionX);
  19. } else {
  20. Hijo = 0;
  21. MinPosicionX = PadrePosicionX-16.5*(Hijos-1);
  22. SAquedebeActualizarse = SAs-Hijos;
  23. do {
  24. Hijo = Hijo+1;
  25. PosicionX = (Hijo-1)*33+MinPosicionX;
  26. setProperty ("Grafo.Nodo"+(Nodos-Hijos+Hijo), _x, PosicionX);
  27. // Actualizar datos de las posiciones guardadas:
  28. SAquedebeActualizarse = SAquedebeActualizarse+1;
  29. set ("SA"+SAquedebeActualizarse+"PosicionX", PosicionX);
  30. // Rotación y tamaño de flecha.
  31. DistanciaXPadreHijo = Math.abs(PosicionX);
  32. setProperty ("Grafo.Flecha"+(Nodos-Hijos+Hijo), _height, Math.sqrt(DistanciaXPadreHijo*DistanciaXPadreHijo+20*20));
  33. trace ("Altura: "+Math.sqrt(DistanciaXPadreHijo*DistanciaXPadreHijo+20*20));
  34. Rotacion = 180/Math.PI*Math.atan (DistanciaXPadreHijo/20*-1);
  35. if ( PosicionX<0 ) {
  36. Rotacion = Rotacion*-1;
  37. }
  38. setProperty ("Grafo.Flecha"+(Nodos-Hijos+Hijo), _rotation, Rotacion);
  39. } while ( Hijo < Hijos );
  40. }
  41. }

La 1era vez que se aplica esa función inserta una flecha y no la modifica porque no es necesario; queda como quiero:


La 2nda vez inserta otra (ahora hay 2) y modifica el tamaño y rotación de ambas; quedan como quiero:


La 3era vez lo mismo:


La 4ta vez no queda bien:

Algunas están más anchas que otras, ni idea por qué, y probablemente más largas de lo que deben. Pero las alturas supuestamente son iguales en las que deben serlo:
Altura: 53.3877326733399
Altura: 25.9277843249283
Altura: 25.9277843249283
Altura: 53.3877326733399

¿Alguna idea de cual es el problema, error, y cómo corregirlo?
79  Foros Generales / Foro Libre / Sobre proyectos que tuvimos en 2023 y probablemente aún tengamos. en: 1 Enero 2024, 13:33 pm
Tema para que muestren cosas que han hecho en 2023 o que no han podido terminar, cuenten sus avances, sus obstáculos, etc. Se admiten sugerencias.

Luego de años dejé de discutir con los locos o tontos de cierto foro de "Filosofía" y empecé a dedicarme más a hacer mis cosas. Pensé que Reddit sería útil pero me insultaron bastante y me banearon sin explicarme por qué. Quora en cambio ha resultado bastante útil. Pensé que hallaría algún foro de videojuegos pero por A o por B no pude usar los que encontré. Hay páginas que debo probar aún...

Me dedicaba digamos randomicamente a mis proyectos, es decir, podía estar varios días con uno, sin avanzar en otros. El resultado era que al retomar otro no recordaba bien por qué hacía lo que hacía, digamos subproyectos. Así, empecé a hacer listas de cosas que me interesa hacer y seguirlas como si fuese una rutina. También anoto en qué me quedé, qué debo corregir o mejorar. Se pierde algo de tiempo escribiendo, pero ayuda a escribir mejor supongo, y por supuesto me ayuda a recordar más fácil lo relativo a mis proyectos. Me entretengo, cambiar de proyecto a cada rato es más divertido y menos cansador que estar "media vida" con alguno que puede ser interminable o casi.

Proyecto 1: Escribir un libro para gente como yo era.
La idea es que lo pueda entender CUALQUIERA, por ejemplo un mosquito, pero luego de muchas vueltas, teniendo en cuenta que esto:
https://www.pictocuentos.com/el-patito-feo/4
...se entiende bastante bien sin necesidad de que enseñen desde 0, y considerando que no sabía qué enseñar 1ero, decidí simplemente hacer una autobiografía. En la 1er versión escribo un año o varios, mi edad en él o ellos, una palabra que lo/s resuma o represente lo más relevante de él y una imagen que también. En próximas versiones pondría más hechos, relatados con más palabras, y más imágenes. Decidir la palabra más adecuada no me resulta siempre fácil, pero lo que me tranca más es encontrar las imágenes. Por ejemplo aún busco una de alguien llorando sintiéndose estúpido. Pensé en Shinji Ikari pero lo suyo es más amplio, en Gady de Rescue Rangers del episodio "The Case of the Cola Cult" pero como es mujer no pega mucho, me dijeron cierto episodio de Friends pero nada que ver... Las imágenes que generé con IA no me han gustado así que no uso eso. Básicamente voy por el año 2000, no llegué ni a la mitad de años. He aquí una parte:

...obviamente no se puede entender detalladamente qué ocurrió en esos años pero será ampliado y se agregará fondo y otras cosas a la imagen de lanzador.

2: Hacer programas que resuelvan dudas.
Esto lo intenté más o menos desde 2008 hasta 2019, y aunque muchas veces lo que intenté fue escribir sobre eso y entender cuales son los tipos de dudas, no tanto "hacer...", lo cierto es que no he logrado mucho. Eso y que mi amor platónico y los psiquiatras me trataran de loco me llevó a dejarlo. Debido en parte a que luego se puso de moda la IA decidí continuar, aunque lo mío es búsqueda mediante fuerza bruta y creo que backtracking, no hago redes neuronales ni cosas de moda. No avancé en cuanto a la complejidad de dudas a resolver, sólo a partir de programas que tenía mejoré los nombres de sus variables, las descripciones e intento que muestren grafos de las situaciones o estados a l@s que van llegado, cosa que antes me pareció que sería demasiado difícil, y lo sigue siendo para mí, pero parece que va bien, gracias a ayudas, aunque quedan cosas que hacer.
Lista incompleta de las variables de las dudas (hay palabras cortadas para que entre en 1 línea en el archivo donde las tengo):
Citar
- Mínima cantidad de Variables de la situación.
- Máxima cantidad de Variables de la situación.
- Posibles cantidades de Variables de la situación.
- Mínima complejidad de las Variables de la situación.
- Máxima complejidad de las Variables de la situación.
- Posibles cantidades de complejidades de Variables de la sit.
- Mínimo rango de valores de los Variables de la situación.
- Máximo rango de valores de los Variables de la situación.

- Mínima cantidad de Candidatos.
- Máxima cantidad de Candidatos.
- Posibles cantidades de Candidatos.
- Mínima complejidad de Candidatos.
- Máxima complejidad de Candidatos.
- Posibles cantidades de complejidades de Candidatos.
- Mínimo rango de valores de los Candidatos.
- Máximo rango de valores de los Candidatos.

- Modo en que varían los Candidatos.

- Mínima cantidad de modificaciones al aplicar al Candidato.
- Máxima cantidad de modificaciones al aplicar al Candidato.
- Posibles cantidades de modificaciones al aplicar el Candidato.
- Mínima complejidad de las modificaciones al aplicar al Cand.
- Máxima complejidad de las modificaciones al aplicar al Cand.
- Posibles cantidades de complejidades de mods al aplic al Cand.

- Mínima cantid de Aplicaciones requeridas para resolver la duda.

- Mínima cantidad de Condiciones que los Cands deben cumplir.
- Máxima cantidad de Condiciones que los Cands deben cumplir.
- Posibles cantidades de Condiciones que los Cands deben cumplir.
- Mínima complejidad de las Conds que los Cands deben cumplir.
- Máxima complejidad de las Conds que los Cands deben cumplir.
- Posibles cants de complejs d las Conds q los Cands deben cmplr.

Muestra de un grafo generado por un programa habiendo establecido que hay 5 acciones posibles (obviamente lo relativo a las flechas debe mejorarse, pero los nodos aparecen donde quiero, bien, cualquiera sea el nro de acciones posibles):

"Vencer al enemigo mediante acciones, el enemigo tiene 11 HP. Se recomienda la serie... 1 5 5" (significa que el método más rápido hallado es usar el ataque 1 que quita 1HP, y luego el 5 dos veces).
El código debería poder mejorarse especialmente en el aspecto de las referencias (ver SAquedebeActualizarse), pero intentaré que los nodos hijos, en vez de mostrarse cada vez que surge uno de un mismo padre, se muestren recién cuando hayan surgido todos, con lo cual por ahora no será necesario hacer referencias, creo.
Código
  1.   actions for fotograma 1
  2.      function InsertarNodo () {
  3.         Imagenes = Imagenes+1;
  4.         Nodos = Nodos+1;
  5.         Grafo.attachMovie("mNodo", "Nodo"+Nodos, Imagenes);
  6.         // Especificar la situación que representa:
  7.         set ("Grafo.Nodo"+Nodos+".EnHP", EnHP);
  8.         // Insertar flecha:
  9.         Imagenes = Imagenes+1;
  10.         Grafo.attachMovie("mFlecha", "Flecha"+Nodos, Imagenes);
  11.         // Especificar el sitio donde se insertan:
  12.         PosicionY = PadrePosicionY+33;
  13.         setProperty ("Grafo.Nodo"+Nodos, _y, PosicionY);
  14.         setProperty ("Grafo.Flecha"+Nodos, _x, PadrePosicionX);
  15.         setProperty ("Grafo.Flecha"+Nodos, _y, PadrePosicionY+6.5);
  16.         Hijos = Hijos+1;
  17.         if (Hijos == 1) {
  18.            PosicionX = PadrePosicionX;
  19.            setProperty ("Grafo.Nodo"+Nodos, _x, PosicionX);
  20.         } else {
  21.            Hijo = 0;
  22.            MinPosicionX = PadrePosicionX-16.5*(Hijos-1);
  23.            SAquedebeActualizarse = SAs-Hijos;
  24.            do {
  25.               Hijo = Hijo+1;
  26.               PosicionX = (Hijo-1)*33+MinPosicionX;
  27.               setProperty ("Grafo.Nodo"+(Nodos-Hijos+Hijo), _x, PosicionX);
  28.               // Actualizar datos de las posiciones guardadas:
  29.               SAquedebeActualizarse = SAquedebeActualizarse+1;
  30.               set ("SA"+SAquedebeActualizarse+"PosicionX", PosicionX);
  31.               // Rotación y tamaño de flecha.
  32.               DistanciaXPadreHijo = Math.abs(PosicionX);
  33.               setProperty ("Grafo.Flecha"+(Nodos-Hijos+Hijo), _height, Math.sqrt(Math.pow(DistanciaXPadreHijo, 2)+20*20));
  34.               Rotacion = 180/Math.PI*Math.atan(DistanciaXPadreHijo/20*-1);
  35.               if (PosicionX<0) {
  36.                  Rotacion = Rotacion*-1;
  37.               }
  38.               setProperty ("Grafo.Flecha"+(Nodos-Hijos+Hijo), _rotation, Rotacion);
  39.            } while (Hijo<Hijos);
  40.         }
  41.      }
  42.      Respuesta = "Vencer al enemigo mediante acciones, el enemigo tiene 11 HP. Se recomienda la serie... ";
  43.      // Situación inicial:
  44.      // HP inicial del enemigo:
  45.      EnBaseHP = 33;
  46.      trace ("EnBaseHP: "+EnBaseHP);
  47.      // Guardar situación y cómo se produjo:
  48.      // Parte inicial del nombre de los datos (en este caso S11):
  49.      SitID = "S"+EnBaseHP;
  50.      trace ("SitID: "+SitID);
  51.      // Acción realizada en la situación anterior (en este caso ninguna):
  52.      set (SitID+"ActionAnterior", "Ninguna");
  53.      trace (SitID+"ActionAnterior: "+eval(SitID+"ActionAnterior"));
  54.      // En este caso la variable es S11Action y su valor es "Ninguna".
  55.      // Posición X e Y del nodo que representa la situación desde la cual se originó la que será representada por otro nodo...
  56.      // ...pero en este caso es la posición del 1er nodo.
  57.      PadrePosicionX = 0;
  58.      trace ("PadrePosicionX: "+PadrePosicionX);
  59.      PadrePosicionY = 0;
  60.      trace ("PadrePosicionY: "+PadrePosicionY);
  61.      // Cantidad de imágenes insertadas:
  62.      Imagenes = 1;
  63.      trace ("Imágenes: "+Imagenes);
  64.      // Cantidad de nodos del grafo a mostrar:
  65.      Nodos = 1;
  66.      trace ("Nodos: "+Nodos);
  67.      // Insertar nodo inicial:
  68.      Grafo.attachMovie("mNodo", "Nodo1", 1);
  69.      // Especificar la situación que representa:
  70.      Grafo.Nodo1.EnHP = EnBaseHP;
  71.      // Hijos del nodo de la situación que se está analizando:
  72.      Hijos = 0;
  73.      trace ("Hijos: "+Hijos);
  74.      // Acción que será usada 1ero:
  75.      Action = 1;
  76.      trace ("Action: "+Action);
  77.      // Variables sobre situaciones anotadas:
  78.      // Total de situaciones anotadas:
  79.      SAs = 0;
  80.      trace ("Situaciones anotadas: "+SAs);
  81.      // Situación anotada que será investigada 1ero:
  82.      SiguienteSAaInvestigar = 0;
  83.      trace ("ID de la situación anotada a investigar cuando se comience a investigar las anotadas: "+SiguienteSAaInvestigar);
  84.   actions for fotograma 2
  85.      trace ("Reset de la situación, aplicación de la acción, la situación ahora es:");
  86.      EnHP = EnBaseHP-Action;
  87.      trace ("EnHP: "+EnHP);
  88.      // ¿Se logró el objetivo?
  89.      if (EnHP<=0) {
  90.         // Sí, iniciar muestra de serie de acciones que la causan:
  91.         Serie = Action;
  92.         trace ("Solución hallada, iniciando proceso para mostrar respuesta.");
  93.         InsertarNodo();
  94.         gotoAndPlay (5);
  95.      } else {
  96.         trace ("No se logró el objetivo.");
  97.         // ¿La situación producida está anotada?
  98.         if (eval("S"+EnHP+"ActionAnterior") == undefined) {
  99.            // No, anotarla y cómo se logró:
  100.            trace ("La situación producida no está anotada.");
  101.            SitID = "S"+EnHP;
  102.            set (SitID+"EnHPAnterior", EnBaseHP);
  103.            set (SitID+"ActionAnterior", Action);
  104.            trace ("Ahora está anotada: "+SitID);
  105.            trace ("Su antecedente fue ("+SitID+"EnHPAnterior): "+EnBaseHP);
  106.            trace ("y la acción fue ("+SitID+"ActionAnterior): "+Action);
  107.            // También se agrega como situación a investigar y se anota en qué consiste:
  108.            SAs = SAs+1;
  109.            SitID = "SA"+SAs;
  110.            set (SitID+"EnHP", EnHP);
  111.            trace ("Situaciones anotadas: "+SAs);
  112.            trace ("La última consiste en (EnHP): "+eval(SitID+"EnHP"));
  113.            // Se inserta el nodo que la representa y se guarda su posición:
  114.            InsertarNodo();
  115.            set (SitID+"PosicionX", PosicionX);
  116.            trace (SitID+"PosicionX: "+PosicionX);
  117.            set (SitID+"PosicionY", PosicionY);
  118.         } else {
  119.            trace ("La situación producida ya está anotada.");
  120.         }
  121.      }
  122.   actions for fotograma 3
  123.      // La situación está anotada. ¿Modificar acción es posible?
  124.      if (Action<25) {
  125.         // Sí, modificarla:
  126.         trace ("Es posible modificar acción.");
  127.         Action = Action+1;
  128.         trace ("Action fue modificada, es: "+Action);
  129.         gotoAndPlay (2);
  130.      } else {
  131.         trace ("No es posible modificar la acción.");
  132.         if (SiguienteSAaInvestigar<SAs) {
  133.            // Aún hay situaciones anotadas sin investigar, investigar una (probablemente lo ideal sería investigar la más diferente a las investigadas, pero me es difícil programar eso):
  134.            trace ("Aún hay situaciones anotadas sin investigar.");
  135.            SiguienteSAaInvestigar = SiguienteSAaInvestigar+1;
  136.            EnBaseHP = eval("SA"+SiguienteSAaInvestigar+"EnHP");
  137.            trace ("Se investigará la situación anotada nro: "+SiguienteSAaInvestigar);
  138.            trace ("Consiste en EnBaseHP: "+EnBaseHP);
  139.            // Guardar su posición para saber dónde poner a sus posibles hijos:
  140.            PadrePosicionX = eval("SA"+SiguienteSAaInvestigar+"PosicionX");
  141.            trace ("Nuevo PadrePosicionX: "+PadrePosicionX);
  142.            PadrePosicionY = eval("SA"+SiguienteSAaInvestigar+"PosicionY");
  143.            Hijos = 0;
  144.            // Reset de la acción a usar:
  145.            Action = 1;
  146.            trace ("Reset de la acción a usar, es: "+Action);
  147.            gotoAndPlay (2);
  148.         } else {
  149.            trace ("No hay situaciones anotadas sin investigar ni es posible lograr el objetivo.");
  150.            Respuesta = "No es posible lograr el objetivo.";
  151.            stop ();
  152.         }
  153.      }
  154.   actions for fotograma 5
  155.      // Obtener acción anterior:
  156.      ActionAnterior = eval("S"+EnBaseHP+"ActionAnterior");
  157.      trace ("La acción anterior fue: "+ActionAnterior);
  158.      // ¿Hubo?
  159.      if (ActionAnterior != "Ninguna") {
  160.         // Sí, agregarla en la lista:
  161.         Serie = ActionAnterior+" "+Serie;
  162.         trace ("Acción agregada en la serie.");
  163.         // Averiguar cual fue la situación anterior:
  164.         EnBaseHP = eval("S"+EnBaseHP+"EnHPAnterior");
  165.         trace ("Se realizó en la situación: S"+EnBaseHP);
  166.         // Repetir este frame.
  167.         gotoAndPlay (4);
  168.      } else {
  169.         // No hubo una acción anterior, mostrar la serie:
  170.         Respuesta = Respuesta+Serie;
  171.         stop ();
  172.      }

3: Graficar y mejorar programas que resuelvan dudas.
Ah, sí, son proyectos separados, pero arriba me confundí y los mezclé xP

4: Aprender Química.
Fui a un curso pero lo dejé porque era más hacer cálculos que hacer cosas, útiles, además casi nada entendía. Similarmente me ocurrió con un curso que empecé a ver en Youtube. Un curso que leía también lo dejé porque me pareció que definían las cosas como el traste. Otro resultó ser lo que debí suponer, lo que decía el título, un megaresúmen que no enseña mucho. Lo que hice más bien fueron preguntas por ahí, y algo aprendí. Uno de mis objetivos es hacer una lista de las posibles moléculas. Según una noticia, que no sé si es cierta, una niña jugando con un juego de Química representó una molécula desconocida, y hubo un tío que inventó un material ultraresistente al fuego pero no quiso decir cómo se hace, así que creo que aún es un secreto. A mí me interesan los RPGs, entender en qué se basarían los HPs y demás si fuesen realistas, así que la Química y Física me interesan también por eso. Por ahora mi "lista" es esta:

Las moléculas son las que tiene 2 colores de fondo. Lo demás es para usarlo "de base" en posteriores filas.
Átomos de gases nobles no incluyo porque me dijeron que es casi imposible que formen enlaces con algo.
En una versión anterior cuando había 3 posibles enlaces yo ponía 2 para el costado y uno hacia arriba por ejemplo, pero según vi eso no es así y tuve que corregirlo :/
Obviamente sería cool que esto lo haga un programa, pero no creo ser capaz de hacer uno así, al menos aún.

5: Aprender cuales son los posibles juegos de Flash 5 para 1 humano.
No es que me quiera limitar a eso, pero no le veo sentido a pensar en un juego que no pueda programarse ahí que es donde más sé, así que me limito a eso. En esto estoy muy liado y es una de las cosas en que más me cuesta avanzar, estoy haciendo una lista de posibles modificaciones a juegos, es mejor que esta:

...pero esa está más compacta, la otra tiene descripciones de lo que hace cada cosa; lo que debo hacer es pensar qué cosas que puse en el colaborador, y otras que no puse, se podrían poner en el desafiante (humano) y hacer que estén mejor ordenadas @_@

Tengo más, luego sigo.
80  Media / Multimedia / [Solucionado] ¿Cómo descargo este video rebelde? en: 27 Diciembre 2023, 11:57 am
Advertencia: Al darle play o hacer clics por ahí se abren cosas y el antivirus bloquea algunas.
https://gamovideo.com/yo9jx4vlms8v

Probé muchos descargadores online y no hubo caso. ¿Usando y IE y mirando en archivos temporales tal vez? ¿otros métodos?
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 36
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines