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


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: 1 ... 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 [68] 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 ... 243
671  Media / Juegos y Consolas / Ideas para juego de Matemática. en: 21 Enero 2024, 10:17 am
Sería una versión mejorada de este:
https://www.youtube.com/watch?v=i_aPn9W2WF8
mezclada con Magic The Gathering y Yu-gi-oh.

N = Nro de jugadores.
??? = Cantidades a decidir.

- Cada jugador debe hacer un mazo de cartas.
- Hay 3 tipos de cartas:
--- Números.
--- Operadores.
--- Personas o personajes que han sido relevantes en las Matemáticas.
- Cada jugador baraja su mazo. Luego pone cartas boca arriba, formando cada uno un cuadro de ???x??? cartas.
- Debe haber al menos 1 carta de tipo número en cada cuadro. Cada jugador puede devolver sus cartas a su mazo y volver a poner otras, pero cada vez que lo haga tendrá que poner 1 carta menos. Si llega un punto en que sólo puede poner 1 carta y la que pone no es un número, pierde.
- El órden de los turnos podría ser decidido según la cantidad de números que hayan puesto, o su suma, o cual sea el mayor, o no sé, qué sería mejor. En caso de empate se vería quien tiene la 2nda cantidad mayor, o la suma mayor, o lo que se haya decidido, y así sucesivamente. En caso de que no sea posible desempatar así se comienza a ver quién tiene el número mayor al final de su mazo.
- Podría ser que, quien inicia, no toma una carta de su mazo en esa ocasión. En los demás casos sí, al inicio de su turno, el jugador toma una carta de su mazo.
- En cada turno se puede lanzar sólo 1 operación (1 número, 1 operador y otro número) y sólo a 1 personaje.
- El contexto podría ser:
A: Los números en el cuadro de cada jugador son candados, gana quien abre todos los del adversario.
B: Los cuadros son murallas, gana quien hace un camino vertical en la muralla rival. En este caso al inicio debería haber al menos 1 número en cada columna de cada cuadro.
C: Alguna de esas 2 con el agregado de que luego debe quitarle puntos de vida.

Los personajes causarían efectos especiales en el juego, como obtener 2 cartas del mazo, ver la mano del rival, etc.

Sería bueno que durante el juego los jugadores pudieran poner números en sus cuadros y/o intercambiar sus otras cartas de ahí por números pero no sé si así nomás o de algún modo especial. Se requieren 2 y 1 operador para destruir 1 rival... Si se pudiera poner un número en el cuadro cada vez que se tenga en la mano entonces ¿para qué usar 3 cartas en destruir 1 si se podrían poner 3? Por eso no puede ser. ¿Para poner 1 hay que descartar 2 cartas? Podría ser. También, que si en el cuadro se tiene una carta no número y en la mano un número, se puedan intercambiar.

Podría haber cartas tipo trampa también, estarían en el cuadro y se podrían activar cuando se destruye un número al lado. En este caso las cartas que no sean número estarían boca abajo y se pondrían boca arriba cuando un número sea destruido ¿está bien? O en caso de jugarse en el modo "hacer camino", se activarían cuando deja de haber un número delante y el rival decide pasar.

Tal vez sería bueno que en vez de tomar 1 carta por turno se tomen 2, el problema es que entre más cartas más se tarda en jugarlas porque debe pensarse más, por tener más opciones.

Otra posibilidad es que en vez de jugar con 1 mazo en que están todos los tipos de cartas mezclados, se juegue con varios mazos a la vez. Está bien mientras no se mezclen todas en la mano y en la pila de descarte, sino habría que reacomodarlas al final de cada partida (por supuesto si es un videojuego no sería problema).

Una idea que me gustó es que un efecto especial sea "obtén el menor resultado posible". Ambos jugadores podrían usar todos los números y operadores que quieran intentando eso y el ganador obtendría algún beneficio especial (tomar del mazo el doble de cartas que haya usado, por ejemplo), pero si en general no se tendrá muchas cartas en la mano no tiene mucha gracia.

Ahora que me doy cuenta, debería permitirse lanzar operaciones más grandes, es decir, con más números y más operadores.

En fin ¿qué más se les ocurre?
672  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.
673  Foros Generales / Foro Libre / Re: Conflicto Ucrania-Rusia,EEUU, OTAN, Europa. (Todas las noticias relacionadas irán aquí) en: 19 Enero 2024, 21:37 pm
¿ No será mejor respetarnos todos?
Claro, pero los rusos no están respetando ¿no?

Citar
¿Qué ganamos expandiendo la Otan?
Muy buena pregunta, no había pensado en eso. En la serie Gundam Wing una organización se expande militarmente y toma control de casi todos los países. Definitivamente no quiero eso.

Citar
EDITO: la Otan se creó para impedir dictaduras como el nazismo o que se expandirá el comunismo. Una vez que la unión soviética cayó, perdió su sentido.
No lo perdió si sigue habiendo dictaduras contra las que luchar. Quizá la OTAN teme que Rusia algún día pueda volver a ser una, por eso no la aceptaron. Puede que exista para persuadir a países a atacar a sus miembros, pero como dices si se expande demasiado parece otra cosa.
674  Programación / Programación General / Re: ¿Cómo los números se producirían más rápido en M.Flash 5? en: 19 Enero 2024, 10:33 am
Hice esto:
Código
  1.   actions for fotograma 1
  2.      // Este programa produce 1ero un número de longitud 1: 0.
  3.      // Luego otro de long 1: 1. Y otro de long 2: 10.
  4.      // Luego otro de 1: 2. Otro de 2: 11. Y uno de 3: 100.
  5.      // Y así. Es como si produjera cada vez más listas,
  6.      // que tienen números más largos que las anteriores,
  7.      // pero sólo se guarda el último valor de cada una.
  8.      // Los valores de la lista 1 tendrán longitud 1. Los de la 2, 2.
  9.      // Y así. Cuando ya no es posible producir uno de una longitud,
  10.      // no se producen más de esa.
  11.      SolucionesHalladas = 0;
  12.      MinLongitudDeLosN = 1;
  13.      MaxLongitudDeLosN = 1;
  14.      ValorDelUltimoNDeLaLista1 = -1;
  15.      LongitudDelNaModificar = MinLongitudDeLosN;
  16.      function ProcesoaRepetir () {
  17.         NombreDelNaModificar = "ValorDelUltimoNDeLaLista"+LongitudDelNaModificar;
  18.         // Obtener lo que sería el nuevo valor de la lista indicada por LongitudDelNaModificar:
  19.         N = eval(NombreDelNaModificar)+1;
  20.         // ¿El nuevo N ya fue producido por otra lista?
  21.         // O: ¿Tiene N más longitud que los Ns de su propia lista?
  22.         if (String(N).length>LongitudDelNaModificar) {
  23.            // Sí, no producir más Ns de esa lista:
  24.            MinLongitudDeLosN = MinLongitudDeLosN+1;
  25.            // La función se reaplicará pero para producir un N de una longitud mayor:
  26.            LongitudDelNaModificar = MinLongitudDeLosN;
  27.            if (Fram == 3) {
  28.               gotoAndPlay (2);
  29.            }
  30.         } else {
  31.            // Guardar el valor en la lista correspondiente:
  32.            set (NombreDelNaModificar, N);
  33.            // Obtener característica usando N:
  34.            CaracteristicaDeN = String(N).charat(N);
  35.            trace (N+" resulta "+Caracteristica);
  36.            // Si se obtiene una característica deseada, informar,
  37.            // guardarla y incrementar las soluciones halladas.
  38.            if (CaracteristicaDeN == 0) {
  39.               if (Solfor0 == undefined) {
  40.                  Solfor0 = N;
  41.                  trace ("para que la característica sea 0 usar N: "+N);
  42.                  SolucionesHalladas = SolucionesHalladas+1;
  43.               }
  44.            } else if (CaracteristicaDeN == -9) {
  45.               if (Solfor9 == undefined) {
  46.                  Solfor9 = N;
  47.                  trace ("para que la característica sea -9 usar N: "+N);
  48.                  SolucionesHalladas = SolucionesHalladas+1;
  49.               }
  50.            } else if (CaracteristicaDeN == 4.5) {
  51.               if (Solfor4 == undefined) {
  52.                  Solfor4 = N;
  53.                  trace ("para que la característica sea 4.5 usar N: "+N);
  54.                  SolucionesHalladas = SolucionesHalladas+1;
  55.               }
  56.            } else if (CaracteristicaDeN == -7.2) {
  57.               if (Solfor7 == undefined) {
  58.                  Solfor7 = N;
  59.                  trace ("para que la característica sea -7.2 usar N: "+N);
  60.                  SolucionesHalladas = SolucionesHalladas+1;
  61.               }
  62.            }
  63.            gotoAndPlay (4);
  64.         }
  65.      }
  66.   actions for fotograma 2
  67.      Fram = 2;
  68.      ProcesoaRepetir();
  69.   actions for fotograma 3
  70.      Fram = 3;
  71.      ProcesoaRepetir();
  72.   actions for fotograma 4
  73.      // ¿El último valor producido es de la lista de los más largos?
  74.      if (LongitudDelNaModificar<MaxLongitudDeLosN) {
  75.         // No, producir uno de una lista de más largos:
  76.         LongitudDelNaModificar = LongitudDelNaModificar+1;
  77.      } else {
  78.         // Sí, se creará un valor para una nueva lista, de valores más largos:
  79.         // La siguiente ecuación no funciona cuando MaxLongitudDeLosN es 1, por eso hay un if y else:
  80.         if (MaxLongitudDeLosN>1) {
  81.            set ("ValorDelUltimoNDeLaLista"+(MaxLongitudDeLosN+1), eval("ValorDelUltimoNDeLaLista"+MaxLongitudDeLosN)*10-1);
  82.         } else {
  83.            set ("ValorDelUltimoNDeLaLista"+(MaxLongitudDeLosN+1), 9);
  84.         }
  85.         MaxLongitudDeLosN = MaxLongitudDeLosN+1;
  86.         // Producir un valor de la mínima longitud actual:
  87.         LongitudDelNaModificar = MinLongitudDeLosN;
  88.      }
  89.      gotoAndPlay (2);
  90.  
Funciona mucho más rápido pero no lo puedo parar (no sé por qué) y en cierto punto me aparece el mensaje:


Intentaré entender por qué no lo puedo parar y mejorarlo pero si sigo así para cuestiones como esta puede que pida que me recomienden un programa/lenguaje. Por ahora no.
675  Foros Generales / Foro Libre / Re: Conflicto Ucrania-Rusia,EEUU, OTAN, Europa. (Todas las noticias relacionadas irán aquí) en: 19 Enero 2024, 04:58 am
Ucrania quiso ser de la OTAN ¿no? Es como que lo era entonces.

Si Rusia ataca a otro país de la OTAN ¿toda la OTAN lo defendería con "todo" o lo defendería como defendieron a Ucrania?

¿No habrá otro caso como Ucrania, es decir, Rusia no atacará a otro país de la OTAN con la excusa de sentirse amenazada, de que hay nazis y gente maltratada que quiere ser gobernada por Rusia? ¿era un caso especial o puede repetirse?
Si Rusia adquiere Ucrania, tendrá frontera con otros países supongo ¿atacará alguno también si se hace de la OTAN o si construye muchas bases militares como dicen que fue el caso de Ucrania?

Yo aún no entiendo el asunto, tampoco es que lo haya estudiado con profundidad, pero como hay opiniones diversas me confunde un poco. Parece una situación hipócrita o que la OTAN está aprovechando. Hipócrita porque unos son aliados pero no ayudan tanto a la supuesta víctima, ayudarla realmente sería decir a Rusia que pare o la atacan entre todos, o mejor dicho decirle a Putin que pare, si el problema es él, no sé. Y si en realidad Ucrania merecía el ataque y por eso nadie quiere meterse realmente a ayudarla, están debilitando a Rusia y dañando su imagen sin recibir mucho daño ellos, de hecho con esto pueden probar sus juguetes en guerras reales. Como sea esto parece como cuando alguien está robando o golpeando a otro y nadie quiere meterse, pero en este caso todos están armados y son mayoría. Por supuesto yo no quiero morir por defender a Ucranianos, pero los que son soldados, para eso están. ¿Los quieren sólo para defensa? Bueno pero... ¿defender a los aliados no es importante también? ¿no querrían ser defendidos ellos mismos si estuvieran en la misma situación? ¿y si Rusia sigue atacando? ¿por qué contra Hitler sí se unieron pero contra Putin no?
676  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
677  Programación / Programación General / Re: ¿Cómo los números se producirían más rápido en M.Flash 5? en: 17 Enero 2024, 18:45 pm
Al decir 'duran demasiado', no tengo claro si tratas de decir que la ejecución del interior 'hace demasiadas cosas' o que la condición (en el ejemplo un contador), es elevado....
Me refiero a que toma mucho tiempo ejecutar el código. Si el código de cada frame debe ejecutarse en 0.2 segundos o lo que sea y le pones un código larguísimo, no se podrá ejecutar tan rápido y dará un mensaje de error, al menos así me ha pasado algo así e interpreto que es por eso. Además la pantalla se actualiza sólo cuando hay un cambio de frame.

Citar
Verás, si estás operando con cada día del año, que son 365, pués es correcto que el bucle deba tener 365 iteraciones...
Aquí debe hacerse en distintos frames.

Citar
El cóoooodigo que debe hacerse es justo el preciso que resuelva el problema que se trata de solucionar, no otro distinto que  te resulte 'más bonito'...
No es una cuestión de belleza sino de que funcione lo más rápido posible con las herramientas que me gusta usar y puede ser con otras que desconozca.

Citar
pero ahí, simplemente estás haciendo 2 incrementos seguidos
No, es como un while:
Código:
Frame 1:
// Definición del número.
N = -1
Frame 2:
// Incrementar 1 al número.
N++
mostrar N
Frame 3:
// Repetir el frame 2 hasta que N sea 100.
Si N<100
  goto 2

Primero N es -1.
Pasa al frame 2, ahí aumenta el número y lo muestra: 0
Pasa al frame 3, vuelve al 2.
En el frame 2, aumenta el número y lo muestra: 1
En el frame 3 vuelve al 2.
Y así. No es eficiente porque en el frame 3 hay una pequeña pausa.

...Bueno, a mí me gusta programar eficientemente, pero con goto. Puede que sea un tanto contradictorio, pero no tanto. Es como que tú vas en helicóptero y yo... intento hacer una bicicleta lo mejor posible, aunque no vuele.

Es que a pesar de todo no he visto un lenguaje que me parezca mejor, simplemente debo aprender a usar mejor este.
678  Foros Generales / Dudas Generales / Re: Obtener metodo de login de un juego flash en: 17 Enero 2024, 07:05 am
¿Necesitas crear una cuenta? ¿ingresar un password? ¿qué juego?

Explicar un poco no muerde... O al menos yo no entendí bien cual es el problema, los juegos sencillos no piden logearse, el problema puede hacerlos funcionar, de eso te habló El_Andaluz, pero si tu problema es que no te puedes loguear y el juego lo requiere entonces la cuestión parece otra, quizá está hecho de modo que se deba pagar para jugar, quizá ya no hay quien guarde una base de datos, no sé...

Vi esto:
https://foro.elhacker.net/nivel_web/sacar_password_a_un_login_en_flash_sin_conexion_a_un_php_externo-t322470.0.html

Abajo en las recomendaciones del foro puede haber más.
679  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.
680  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.      }
Páginas: 1 ... 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 [68] 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 ... 243
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines