コイキングのサイズの求め方

コイキングのサイズを求めるのにIDと個体値が必要です。
計算が少し難しいために多少の知識を必要としますので、 結果だけ知りたい場合や初心者の方はここは見ずに25階のCGIに コイキングメジャーと言うコイキングのサイズを測るプログラムを 作っておきましたのでそちらをご利用ください。


それでは本題の計算方法です。

ここから先のA,B,C,D,E,Fはそれぞれ0〜255までの数を記憶できるレジスタ(変数)です。 BCやDEはB*256+CとD*256+Eとして扱います。(つまり、16進数でBを上位2桁として扱い、Cを下位2桁として扱うと言うことです。)
数は**hとなっているものや表の中のものは16進数として扱います。
RRCはビットを右シフトしてあふれた0ビットを7ビットに入れるものです。 具体的にはD5h(11010101^2)という数があったとき、1回RRCを使うとEAh(11101010^2)となります。
XORは、排他的論理和と言ってビットごとに比較し、片方が0でもう一方が1の時のみ1を返します。 具体的には5Dh(01011101^2) XOR 7Fh(01111111^2)とした場合22h(00100010^2)となります。


B=(RRC(RRC(攻防個体値))XOR(RRC(ID上位))
C=(RRC(RRC(素特個体値))XOR(RRC(ID下位))

IDは0〜65535までのどれかなのでそれを16進数に変換すると4桁の数になるので2桁ずつに区切ってID上位とID下位としてください。

このとき、BC<000Ahならば
大きさ=(BC+00BEh)/10(cm)です。

そして、B=FFhならば
D=FFh
E=E6hとして、
大きさ=(0640h+BC-DE)/10(cm)です。

それ以外のときは下の表から数を抜き出して使います。

A D E F
02 00 6E 01
03 01 36 02
04 02 C6 04
05 0A 96 14
06 1E 1E 32
07 45 2E 64
08 7F C6 96
09 BA 5E 96
0A E1 6E 64
0B F4 F6 32
0C FC C6 14
0D FE BA 05
0E FF 82 02
右の表の一番上からBとDを比較していき初めてB<DとなったときのA,D,E,Fを使います。

大きさ
=(A*64h+((BC-DE+10000h)/F)%100)/10(cm)
です。
以上の事がコイキングのサイズの計算式となっています。
自分にはこれ以上わかりやすく説明できませんがわかっていただけたでしょうか?





1号館1階     1号館14階