Aún no he analizado tu código.
He podido hacer un traductor de números con sistema de 10 dígitos o decimal (aunque no son decimales, son enteros, vaya nombres ambiguos le ponen xP ) a hexadecimal, basado en esto:
https://www.youtube.com/watch?v=Myr1vaHjCtM
1:00
Pero claro la idea no es esa, sólo lo hice para practicar. Tiene además un problema previsible: No da valores con 0 adelante. Y los necesito así:
Valor real______________mi valor
0____________________0 o "A"
1____________________1 o "B"
...
26___________________26 o "Z"
27___________________¿0 y 0? o "AA"
Si usara el método del video tendría que dividir entre 27 en vez de 8, pero como dije eso no me da resultados con 0 delante, el 27 lo traduciría a ¿1 y 0? o "BA".
¿Cómo puedo lograrlo?
Si volvemos al tema de los hexadecimales, que sería más sencillo, quisiera lograr algo así:
Valor real______________mi valor "hexadecimal"
0____________________0
1____________________1
...
15___________________15 o "F"
16___________________¿0 y 0?
Lo que se me ocurre es crear un "espacio" o caracter que no use. O sea, este es mi traductor:
Código AS:
Ver originalEscena 1
actions for fotograma 1
// Inician datos.
N = 1;
Data = "0123456789ABCDEF";
Resp = "";
actions for fotograma 2
// Reset...
NDividiéndose = N;
Hexa = "";
actions for fotograma 3
if (NDividiéndose<16) {
// Es el último char que se agrega.
Hexa = Data.charAt(NDividiéndose) + Hexa;
Resp = Hexa+"\n"+Resp;
// Ahora el siguiente número a traducir.
N = N+1;
gotoAndPlay (2);
}
actions for fotograma 4
// Traduciendo num a chars.
NextNDividiéndose = Math.floor(NDividiéndose/16);
Resto = NDividiéndose-NextNDividiéndose*16;
Hexa = Data.charAt(Resto) + Hexa;
NDividiéndose = NextNDividiéndose;
gotoAndPlay (3);
Lo que estoy planteando es definir Data así:
Data = " 0123456789ABCDEF";
¿Cómo traduciría los números del 0 al 15? Tomando el caracter correspondiente +1.
¿Y el 16? 0 y el caracter correspondiente +1. Es decir, 16/16=1 y se toma el caracter 1, o sea 0. Y el resto de la división es 0, por lo que se tomaría el caracter espacio, pero como en este caso le sumamos 1 es el 0, que junto con el otro forman 00, lo que busco.
De esta forma logro que aparezcan 0s delante, pero si me da resto 0 en un punto intermedio -no al final- entonces debería sumarle 1, pero si hago eso los resultados con 0 delante aparecerán 2 veces, no sé, hay que pulir esto o hallar otra forma.