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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Programa que genere una comparación incompleta, a veces pista/s, y que intente completarla.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Programa que genere una comparación incompleta, a veces pista/s, y que intente completarla.  (Leído 250 veces)
Tachikomaia


Conectado Conectado

Mensajes: 1.231


Superhacker (es broma xD )


Ver Perfil
Programa que genere una comparación incompleta, a veces pista/s, y que intente completarla.
« en: 11 Abril 2024, 23:06 pm »

Este tema lo edité porque en principio decidí intentar algo más simple.

De momento tengo esto:
Código
  1. // Generar comparación:
  2. // Parte 1:
  3. ParteVisible1 = random(3);
  4. if (ParteVisible1 == 0) {
  5. ParteVisible1 = "...";
  6. } else {
  7. Parte1 = random(10);
  8. if (ParteVisible1 == 1) {
  9. ParteVisible1 = Parte1;
  10. } else {
  11. ParteVisible1 = "Incógnita";
  12. }
  13. }
  14. // Parte 2:
  15. PosiblesSignos = ["==", "!=", "<=", ">=", "<", ">"];
  16. ParteVisible2 = random(3);
  17. if (ParteVisible2 == 0) {
  18. ParteVisible2 = "...";
  19. } else {
  20. Parte2 = PosiblesSignos[random(6)];
  21. if (ParteVisible2 == 2) {
  22. ParteVisible2 = Parte2;
  23. } else {
  24. ParteVisible2 = "Incógnita";
  25. }
  26. }
  27. // Parte 3:
  28. ParteVisible3 = random(3);
  29. if (ParteVisible3 == 0) {
  30. ParteVisible3 = "...";
  31. } else {
  32. Parte3 = random(10);
  33. if (ParteVisible3 == 1) {
  34. ParteVisible3 = Parte3;
  35. } else {
  36. ParteVisible3 = "Incógnita";
  37. }
  38. }
  39. Mensaje = ParteVisible1+" "+ParteVisible2+" "+ParteVisible3;

Ejemplo de salida:
5 Incógnita ...

Otro ejemplo:
Incógnita > 1

Cosas que me interesan:
- Debe haber al menos 1 "..."
- Debe poder haber más de un tipo de incógnita (X, Y y Z).
- La probabilidad de que haya 1 "..." debe ser igual a que haya 2 o 3. Pero el método debe poder usarse también si la comparación tuviese más partes.

Quisiera que me ayuden con el punto 3. Yo haré el 1 y 2, actualizo el tema cuando lo haga.

En cuanto a las pistas, más adelante veré, pero se refieren a la incógnita.

En cuanto a que complete la comparación (sustituya los ... por valores de modo que sea true), alguna idea tengo, ejemplo:
Código
  1.   actions for fotograma 1
  2.      // Resolvedor de A A ..., todo dato.
  3.      PosiblesValores = ["==", "!="];
  4.      A = PosiblesValores[random(PosiblesValores.length)];
  5.      // trace ("A: "+A);
  6.      Parte1 = A;
  7.      Parte2 = A;
  8.      CandidatoNoTraducido = 0;
  9.      Mensaje = Parte1+" "+Parte2+" ...";
  10.      // Usada en IntentarResolver:
  11.      function Comparacion () {
  12.         if (Parte2 == "==") {
  13.            return Parte1 == CandidatoTraducido;
  14.         } else {
  15.            return Parte1 != CandidatoTraducido;
  16.         }
  17.      }
  18.      // Se repite en F2:
  19.      function IntentarResolver () {
  20.         CandidatoTraducido = PosiblesValores[CandidatoNoTraducido];
  21.         trace ("Probando el Candidato "+CandidatoTraducido);
  22.         if (Comparacion()) {
  23.            trace ("Solución hallada, ver respuesta.");
  24.            Mensaje = Mensaje+"\n"+Parte1+" "+Parte2+" "+CandidatoTraducido;
  25.            gotoAndStop (3);
  26.         } else if (CandidatoNoTraducido<1) {
  27.            trace ("No se logró el objetivo, pero hay otro candidato que se probará");
  28.            CandidatoNoTraducido = CandidatoNoTraducido+1;
  29.         } else {
  30.            trace ("No es posible modificar al candidato ni lograr el objetivo.");
  31.            Mensaje = Mensaje+"Ninguna, no es posible lograr el objetivo.";
  32.            // Finalizar programa:
  33.            gotoAndStop (3);
  34.         }
  35.      }
  36.   actions for fotograma 2
  37.      stop ();
  38.   actions for Vacío
  39.      onClipEvent (enterFrame) {
  40.         _level0.IntentarResolver();
  41.      }


« Última modificación: 14 Abril 2024, 11:11 am por Tachikomaia » 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