Buenas:
Necesito ayuda con un problema. Quiero poner 3 sprites con 10 frames(son numeros del 0-9)(quiero poner del 0-999) quiero que si la variable(por ejemplo a) es igual a 5 muestre 005 con los sprites, pero si la variable cambia a 58 que muestre 058 en sprites, con solo una condicion, que no tenga que escribir 1000 ifs o swichs.
Ayuda.
O sea,
quieres dividir un número cualquiera en centenas, decenas y unidades para representarlos con sprites que representan los números del 1 al 9, ¿no? Eso ya se respondió hace tiempo (lo sé porque fui yo quien lo preguntó), utiliza el buscador anda.
Lo que tú necesitas se soluciona utilizando el operador de resto (%) dividiendo el número que desees mostrar entre 10, 100 y 1000 respectivamente.
Salu2
Gracias: 1º no lo encontré o
Gracias:
1º no lo encontré o me equivocaria
2ºno lo termino de entender
Gracias.
Edito: Ya me entere y funciona. Gracias.
A ver,
antes de nada te explico que el operador resto (%) es un comando de C (como la suma (+), la resta (-), la multiplicación (*) y la división (/)) que te devuelve el resto de una división. Ya te adelanto que cuando usas el comando resto la división no llegará a los decimales.
Es decir, que si tú divides 10/3, te queda de cociente 3 (lo que obtienes al realizar la división), y de resto 1 (la parte que no se dividió y que sobra de la operación).
Si tú en C pones
x=10/3;
obtienes el cociente (3). Pero si ponesx=10%3;
, en x se almacenará el resto de la división, es decir 1.Ahora, si quieres descomponer un número en centenas, decenas y unidades, tendrás que arreglártelas para obtener los números por separado.
Si no lo ves claro, haz los cálculos en papel. Verás que si divides 123 entre 10 te quedará de resto 3 (las unidades).
Si lo divides entre 100 te quedará de resto 23, y a partir de ahí puedes obtener las decenas dividiéndolo entre 10, pues te quedará de cociente 2 con algo. Si lo guardas en una variable int el valor se truncará (perderá los decimales) y te quedarás con el 2 (las decenas de 123).
Por último, si divides entre 1000 el número 123, el resto será 123, y si lo divides entre 100 el cociente será 1 con algo. Si lo guardas en un int pasará lo mismo que antes, y quedas con el 1 (las centenas).
Puede parecer innecesario el paso de dividir entre 1000, pero con números de 4 dígitos será necesario (no creo que sea necesario si el numero no es mayor de 999).
Salu2
Gracias.
Muchas gracias de nuevo. Esto aclaro mi duda y ya funciona a la perfeccion. De nuevo Gracias.
A ver si te sirve
http://www.mediafire.com/?844mhwktd45avcd (Para palib 2008)
Exter, seguro que te acuerdas de este ajercicio xDD.
Salu2tS!
Perfectísimamente
Como si fuese ayer, y fue hace un año xD.
[OFF TOPIC]
Qué recuerdos...
Año nuevo,
vida nueva. Nuestros proyectos se han separado, pero cuando quieras los volvemos a juntar oye :D.
Salu2
Gracias 4n4bol, pero la forma
Gracias 4n4bol, pero la forma de exterminator es mas sencilla y funcionan igual. Gracias.