¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 1568 miembros registrados.
El último usuario registrado es juajocobra.

Nuestros miembros han publicado un total de 67008 mensajes en 9003 argumentos.
Quedada del ChatBox

Navega con Google Chrome
[DESCARGA]

Descomponer un número en unidades, decenas y centenas. [DUDA RESUELTA]

 ::  :: 

Ver el tema anterior Ver el tema siguiente Ir abajo

Descomponer un número en unidades, decenas y centenas. [DUDA RESUELTA]

Mensaje por Rido el 2009-08-17, 23:32

Esto que parece una chorrada como una casa puede servir a la hora de escribir variables con imágenes, que es lo que yo busco. Lo que quiero hacer es coger una variable y copiar sus unidades en otra, sus decenas en otra y sus centenas en otra. Por ejemplo:

Variable X = 457

Variable A = 4
Variable B= 5
Variable C= 7

De esta manera podría poner un condiciones y efectos para escribir números con imágenes usando sólo 9 condiciones... y no 999... no sé si me entendéis.

Si veis algún otro sistema de hacer esto mismo estaría genial.

Un saludo


Última edición por Rido el 2009-08-18, 01:12, editado 1 vez

Rido
Aventurero
Aventurero

0/3

Créditos 7985

Gracias: 39

Volver arriba Ir abajo

Re: Descomponer un número en unidades, decenas y centenas. [DUDA RESUELTA]

Mensaje por Metalero el 2009-08-18, 00:22

Estuve probando con scripts y llegue a este algoritmo:

class Desc
def initialize(x)
a = []
@x = x
size = x.size
for i in 0...x.size
exp = (10 ** (size - 1))
a[i] = (@x / exp)
@x -= a[i] * exp
size -= 1
end
end
end

Basicamente toma como dato el "largo" del numero (cantidad de cifras). Luego crea el valor en el rango en que se encuentra (decenas, centenas, etc)

exp = 10 ** (size - 1) => 10 elevado al "largo" menos 1.

Por ejemplo si el numeor a separar es 5621, el "largo" es 4, entonces

exp = 10 ** (4 -1) => 1000

Luego divide el numero a dividir (5621) por el rango (1000), esto nos da 5 (estamos trabajando con enteros). Y por ultimo le restamos el rango (1000) multiplicado por el numero obtenido (5) al numero (5621) (esto nos da 5621 - (1000 * 5) = 621) y le restamos 1 a "largo" y vuelve a empezar el ciclo.

_________________

Metalero
Administrador
Administrador



Créditos 1357

Gracias: 66

Volver arriba Ir abajo

Re: Descomponer un número en unidades, decenas y centenas. [DUDA RESUELTA]

Mensaje por logos el 2009-08-18, 00:38

Bueno Pues yo por engines hago un desgloce cuando hago mis Sbp pero Shursshok ya tiene un tuto de desgloce por engines y creo que es mas facil que el que yo hago XDDD.

logos
Veterano
Veterano

0/3

Créditos 1666

Gracias: 58

Volver arriba Ir abajo

Re: Descomponer un número en unidades, decenas y centenas. [DUDA RESUELTA]

Mensaje por Rido el 2009-08-18, 00:40

Podría ser un buen ejemplo para ese tutorial de scripting que estás haciendo ya que no llego a enterarme del todo ^^

Entender la operación matemática la entiendo, pero a la hora de ponerla en forma de script y de guardar las variables pues no sé hacerlo. El script es fácil, lo has hecho tú, pero no lo entiendo :S

Mil gracias metallero

Ahh y lo del engine si lo explicaseis vendría bien, porque yo por engine no lo saco.

Duda resuelta por logos en:

http://www.mundo-maker.com/engines-f25/engine-de-desgloce-clasico-t533.htm#3354

- Tema cerrado -

Rido
Aventurero
Aventurero

0/3

Créditos 7985

Gracias: 39

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 ::  :: 

Permisos de este foro:
No puedes responder a temas en este foro.