Otra Mecánica
Fórmula del Tamańo de Magikarp
En las ediciones Oro, Plata y Cristal, en una de las casas cercanas al Lago Furia en Johto, un pescador lleva a cabo un concurso. En este concurso debes presentar Magikarp, para que sean medidos y así recibir posibles premios.
En las ediciones Advance este concurso se ha visto repetido con Barboach y Shroomish (Arrecípolis en Rubí y Zafiro), Heracross (cerca del Bosque de Bayas es Isla 6 en Rojo Fuego y Verde Hoja) y Lotad y Seedot (Arrecípolis en Esmeralada).
En esta fórmula, dada su complicación, conviene ir paso a paso. Esta información fue tomada de The Ultimate Pokémon Center, aunque la fuente original es otra (dado que esta información la ví hace ańos en otra site, de la cual no me acuerdo). Antes de nada, no es imprescindible saberse esto, la pongo porque me parece curiosa. En todo caso espero simplificarla lo suficiente.
Paso 1: Herramientas de uso
Vamos a hacer uso de dos funciones propias del lenguaje binario, además de la respectiva conversión:
- Conversiones
- Vamos a tener que pasar tanto el Número ID como los Genes de nuestro Magikarp a binario.
Lo mejor para dejarlo simple y asequible es usar un sencillo algoritmo:
- Coge el número en decimal y divídelo entre 2 (con resultado entero y resto).
- Repite este proceso hasta que el resultado sea 1.
- El número en binario será el resultado de coger todos los restos que nos han dado en este proceso en orden inverso.
Se ve mejor poniendo un ejemplo.
![Algortimo](mecanica/magi1.png)
Bueno, lo mejor es que lo practiques. Haz lo mismo con el número ID 23456. Si el resultado te da 0101101110100000 es que lo hiciste bien.
También puedes usar la calculadora de Windows en su modo científico.
- Right Rotate Carry (RRC)
- Esta función lo que hace es desplazar todos los elementos de un valor binario una posición hacia la derecha. El elemento del extremo derecho pasaría al carry y el elemento que estaba en carry pasaría al extremo izquierdo del valor binario. Este elemento en carry es lo que comúnmente denominamos "me llevo" en las operaciones comunes, y procede de una operación anterior (si "me llevo" es 1, y si no, es 0).
![RRC](mecanica/magi2.png)
- Disyunción Exclusiva (XOR)
- Esta función lo que hace es comparar dos valores binarios bit a bit. Si ambos coinciden en 1 o en 0, da 0. Si no coinciden (1 frente a 0 o 0 frente a 1) da 1.
![XOR](mecanica/magi3.png)
También puedes usar la calculadora de Windows en esta función.
Paso 2: Valores Previos
- B
- B = RRC [RRC [X] ] xor RRC [V]
donde:
X = (16 x IV Ataque) + IV Defensa
V es el byte más alto del ID de Magikarp (lo seńalado en amarillo en el apartado "Conversiones")
- C
- C = RRC [RRC [Y] ] xor RRC [W]
donde:
Y = (16 x IV Velocidad) + IV Especial
W es el byte más bajo del ID de Magikarp (lo seńalado en verde en el apartado "Conversiones")
- D E F A
- Una vez hallamos el valor B, lo vamos comparando con los valores D por filas de la siguiente tabla. Cuando B sea menor que D, cogemos el valor D y los valores E, F y A de la misma fila.
Valores en hexadecimal: Para convertirlos a decimal, debes tener en cuenta que los valores valen 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A (10), B (11), C (12), D (13), E (14) y F (15). El valor de la derecha vale eso, el de la izquierda vale eso multiplicado por 16.
Ejemplo: C6 vale 198 (12x16 + 6).
|
D |
E |
F |
A |
00 |
6E |
01 |
02 |
01 |
36 |
02 |
03 |
02 |
C6 |
04 |
04 |
0A |
96 |
14 |
05 |
1E |
1E |
32 |
06 |
45 |
2E |
64 |
07 |
7F |
C6 |
96 |
08 |
BA |
5E |
96 |
09 |
E1 |
6E |
64 |
0A |
F4 |
F6 |
32 |
0B |
FC |
C6 |
14 |
0C |
FE |
BA |
05 |
0D |
FF |
82 |
02 |
0E |
FF |
E6 |
01 |
10 |
|
Paso 3: Fórmula Final
Fórmula Final
Longitud (cm) = [ A x 100 + [[ int ((( BC + 65536 – DE ) / 65536 ) / F )] / 256 ]] / 10
Apuntes:
- BC = B x 256 + C
- DE = D x 256 + E
- Valor Máximo
- El valor máximo es de 162.5 centímetros, lo cual sucede con un Magikarp con todos los IVs de 15 y un ID de 00000.
- Calculadora Recomendada
- The Ultimate Pokémon Center.
Revisado el 5 de julio de 2008 a las 00:01
|