これはSymbolブロックチェーン上のモザイクをポケモン18タイプに分類してみましょう、という記事です。
モザイクはモザイクIDによって一意に区別することができます。
ではモザイクIDとはなんでしょうか?
たとえば xembook.tomato というモザイクは
モザイクID:310378C18A140D1BというIDが割り振られています。
実はこれ、とても大きな数字が割り振られています。
途中に出てくるA,B,C,Dは?と思われるかもしれません。
これは16進数という数え方で定義されていて、
普通数字は 1,2,3,4,5,6,7,8,9 の次は 10と桁上がりするのですが(これを10進数といいます)、
16進数の場合は 1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,10 となり、16進数の"10"は"16"を意味します。
では、モザイクID:310378C18A140D1B
は10進数で表すといくつになるでしょうか?
ブラウザでF12キーを推してモザイクIDの頭に 0x
をつけて入力してみましょう。
3531799305429192000
という数字が出てきました。
これがxembook.tomatoというモザイクIDが持つ数字です。
さてここから本題です。
まずはポケモンの属性一覧を見てみましょう。
子供たちをワクワクさせた仕掛けがこの中に詰まっています。
複雑すぎると指摘する人もいますが、簡単すぎるのは飽きてしまってある程度複雑な方がワクワクするのかもしれませんね。
もはや、世界に愛されているポケモンですから、ここは世界的にも人の心をくすぐった実績のある仕組みを有効活用しましょう。
では先述の3531799305429192000
という大きな数字をどうやって18タイプに分類すればいいでしょうか?
プログラム言語には %
という便利な演算子があります。
これは、続く数字で割った余りが答えになります。
5 % 2 = 1 (5を2で割ったら余りが1) という感じです。
つまり % 18 という計算をすれば 答えは 0から17のうちのいずれかになります。
わかりましたね。0から17で18種類に分類することができます。
実際に計算してみると
12という数字が出てきました。
ここでの注意点は 1から18に分類したい場合は出てきた結果にプラス1しておく必要があります。
つまり、xembook.tomatoに13番目の属性値を割り当てることができました。
次にPokéAPIを使って属性の特徴を調べてみましょう。
こんなサービスがあるのですね。素晴らしいエコシステムです。
13番目の属性情報を取るには以下のように指定します。
なんとxembook.tomato が持つ属性は ピカチュウと同じelectric(電気)のようです。
どういった属性に強かったり弱かったりするかは damage_relationsを調べてみてください。
以下のように、効果がばつぐんなのかいまひとつなのかが定義されています。
- double_damege_from
- double_damege_to
- half_damage_from
- half_damege_to
- no_damege_from
- no_damege_to
一覧表と同じ結果ですね。
みなさんもお気に入りのモザイクIDで調べてみて、バトルの参考にしてみてくださいね!