¡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 4378 miembros registrados.
El último usuario registrado es neko_r4.

Nuestros miembros han publicado un total de 65958 mensajes en 8834 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 1332

Gracias: 64

http://www.asedio-metal.com.ar

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.