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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  No logro usar números decimales bien en un código.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: No logro usar números decimales bien en un código.  (Leído 2,886 veces)
Tachikomaia


Conectado Conectado

Mensajes: 1.180


Superhacker (es broma xD )


Ver Perfil
No logro usar números decimales bien en un código.
« en: 16 Diciembre 2020, 05:10 am »

Este código usa números enteros:
Código
  1. Escena 1
  2.   actions for fotograma 1
  3.      // Situación inicial.
  4.      BaseVS = 10;
  5.      // Guardar Situación inicial.
  6.      SitID = "S"+BaseVS;
  7.      set (SitID+"VS", BaseVS);
  8.      set (SitID+"C", "Ninguno");
  9.      C = 1;
  10.      // Variables de Unsolved situaciones.
  11.      U = 0;
  12.      Us = 0;
  13.   actions for fotograma 2
  14.      // Reset Situación. Aplicación.
  15.      VS = BaseVS+C;
  16.      // ¿Sol?
  17.      if (20<VS) {
  18.         // Solución; iniciar mostrar lista.
  19.         List = C;
  20.         gotoAndPlay (4);
  21.         // Sino ¿la situación está anotada?
  22.      } else if (eval("S"+VS+"VS") == undefined) {
  23.         // No. Anotarla.
  24.         SitID = "S"+VS;
  25.         set (SitID+"VS", BaseVS);
  26.         set (SitID+"C", C);
  27.         Us = Us+1;
  28.         SitID = "U"+Us;
  29.         set (SitID+"VS", VS);
  30.      }
  31.   actions for fotograma 3
  32.      // La situación existe. ¿Modificar candidato es posible?
  33.      if (C<2) {
  34.         // Modificación de candidato.
  35.         C = C+1;
  36.         gotoAndPlay (2);
  37.      } else if (U<Us) {
  38.         // Usar Unsolveds.
  39.         U = U+1;
  40.         BaseVS = eval("U"+U+"VS");
  41.         C = 1;
  42.         gotoAndPlay (2);
  43.      } else {
  44.         // No hay Solución.
  45.         stop ();
  46.      }
  47.   actions for fotograma 5
  48.      SitID = eval("S"+BaseVS+"C");
  49.      BaseVS = eval("S"+BaseVS+"VS");
  50.      if (SitID != "Ninguno") {
  51.         List = SitID+" "+List;
  52.         gotoAndPlay (4);
  53.      } else {
  54.         stop ();
  55.      }

Se divide en 2 partes:
1- Fotogramas 2y3: Obtención de situaciones y cómo llegar a ellas.
2: Fotogramas 4y5: Mostrar lista de acciones.

Es como si hubiera un objeto en el casillero 10 y lo quiero llevar a más de 20 usando movimientos +1 o +2. El resultado es 1 2 2 2 2 2, o sea llega a 21 (10+1+2*5=21).

Ahora quiero hacer que use números decimales, pero algo falla en mi nuevo código:
Código
  1. Escena 1
  2.   actions for fotograma 1
  3.      // Situación inicial.
  4.      BaseVS = 1;
  5.      // Guardar Situación inicial.
  6.      SitID = "S"+BaseVS;
  7.      set (SitID+"VS", BaseVS);
  8.      set (SitID+"C", "Ninguno");
  9.      C = 0.1;
  10.      // Variables de Unsolved situaciones.
  11.      U = 0;
  12.      Us = 0;
  13.   actions for fotograma 2
  14.      // Reset Situación. Aplicación.
  15.      VS = BaseVS+C;
  16.      // ¿Sol?
  17.      if (2<VS) {
  18.         // Solución; iniciar mostrar lista.
  19.         List = C;
  20.         gotoAndPlay (4);
  21.         // Sino ¿la situación está anotada?
  22.      } else if (eval("S"+VS+"VS") == undefined) {
  23.         // No. Anotarla.
  24.         SitID = "S"+VS;
  25.         set (SitID+"VS", BaseVS);
  26.         set (SitID+"C", C);
  27.         Us = Us+1;
  28.         SitID = "U"+Us;
  29.         set (SitID+"VS", VS);
  30.      }
  31.   actions for fotograma 3
  32.      // La situación existe. ¿Modificar candidato es posible?
  33.      if (C<0.2) {
  34.         // Modificación de candidato.
  35.         C = C+0.1;
  36.         gotoAndPlay (2);
  37.      } else if (U<Us) {
  38.         // Usar Unsolveds.
  39.         U = U+1;
  40.         BaseVS = eval("U"+U+"VS");
  41.         C = 0.1;
  42.         gotoAndPlay (2);
  43.      } else {
  44.         // No hay Solución.
  45.         stop ();
  46.      }
  47.   actions for fotograma 5
  48.      trace ("BaseVS= "+BaseVS);
  49.      trace ("String BaseVS= "+String(BaseVS));
  50.      trace ("C= "+C);
  51.      trace ("VS= "+VS);
  52.      SitID = eval("S"+BaseVS);
  53.      SitID = eval(SitID+"C");
  54.      trace ("SitID= "+SitID);
  55.      trace ("loading S"+BaseVS+"C"+" or SitID= "+SitID);
  56.      BaseVS = eval("S"+BaseVS);
  57.      BaseVS = eval(BaseVS+"VS");
  58.      trace ("loading S"+BaseVS+"VS"+" or BaseVS= "+SitID);
  59.      if (SitID != "Ninguno") {
  60.         List = SitID+" "+List;
  61.         gotoAndPlay (4);
  62.      } else {
  63.         stop ();
  64.      }

Creo que en el frame 5. Dividí en 2 partes los eval de ese frame porque me daban resultados en blanco, creo que porque por ejemplo S2.1C se interpretaría como la variable 1C dentro de un objeto S2 (que no existe y para colmo creo que el nombre de una variable no puede iniciar con un número). Aunque no estoy seguro de que lo nuevo funcione bien, ya que sigue dando un error. El programa siempre carga la misma situación, no la "madre" de ella, y la lista es 0.2 0.2 0.2... interminable.


En línea

Tachikomaia


Conectado Conectado

Mensajes: 1.180


Superhacker (es broma xD )


Ver Perfil
Re: No logro usar números decimales bien en un código.
« Respuesta #1 en: 17 Diciembre 2020, 02:36 am »

Opté por no usarlos, simulo que es todo enteros pero al final los divido entre 10 o el número que se necesite.

Ahora quisiera trabajar con negativos pero no sirve lo mismo. No sirve hacer restas y multiplicar *-1 sí pero sólo si todos son negativos, sino los positivos se convierten en negativos..

Sé que no se entiende lo que digo, pero me cansé de explicar cosas que al final no puedo explicar.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Numeros decimales en batch
Scripting
kraszic 2 12,906 Último mensaje 28 Agosto 2007, 15:36 pm
por kraszic
Como convertir numeros decimales a numeros binario en c++?
Programación C/C++
fco_noh 3 8,892 Último mensaje 31 Agosto 2010, 07:38 am
por do-while
Números de decimales en Python.
Scripting
Meta 2 14,933 Último mensaje 30 Septiembre 2010, 23:00 pm
por Meta
Esta bien como lo logro?..
Ingeniería Inversa
$Edu$ 6 2,955 Último mensaje 11 Octubre 2011, 21:37 pm
por Flamer
Problema con numeros decimales:
Programación C/C++
novato991 4 3,307 Último mensaje 13 Diciembre 2013, 19:30 pm
por novato991
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines