テツポンドのブログ

テツポンドのブログ

テツポンド(Twitter : https://twitter.com/tetspond)のブログです。

【ポケモン】3つ目のタイプがあるとき最も弱点・耐性が多いのはそれぞれどんなタイプかプログラミングで調べてみる

タイプが3つある場合の耐性について知りたい

 

もりののろいを受けるキュレム



 

はじめに

 

 ポケモンのタイプは2つ以下です。

 これがもし3つだったら、タイプの耐性はどうなるか、気になったので自力で調べました。プログラミング初級者ですが、プログラミングをしました。

 一昨年の11月ごろに大元のコードはできて結果も分かっていたのですが、最近これについて興味が再び湧いているので記事にします。タイプが3つのケースについて調べている文献は、現在のタイプ相性表になる前の第五世代時代のもの(ポケモン3タイプ複合弱点の少なさランキング【ポケモンBW・BW2】)しか検索で見当たらなかったのでこれが唯一のものになりそうです。

 

 現在でも、技「もりののろい」でくさタイプを追加 or 技「ハロウィン」でゴーストタイプを追加して、3つ目のタイプを持たせることは一応できるので、それも踏まえながら進めていきます。

 なお、「タールショット」は、タイプ追加ではなくほのお弱点付与だけなので、今回は取り扱いません。

 

 

 

前提:タイプが2つの場合

 

 最も弱点が多いのは

くさ こおり

くさ エスパー

くさ あく

いわ あく

いわ エスパー

いわ かくとう

の6つの組み合わせで、7つの弱点があります。

 

 

耐性(半減以下で受けられる数)が最も多いのは

はがね ノーマル(まだ存在しない組み合わせ)

はがね でんき

はがね ゴースト

の3つの組み合わせで、12の耐性があります。

 

 

 

今回使用したコード

 

言語:Python3

 

ブラウザで実行できないかなーと探して見つけたここで実行しました。

paiza.io

 

import numpy as np

exTL = np.array([
[4,4,4,4,4, 4,8,4,4,4, 4,4,4,0,4, 4,4,4], #00 normal
[4,2,8,4,2, 2,4,4,8,4, 4,2,8,4,4, 4,2,2], #01 fire
[4,2,2,8,8, 2,4,4,4,4, 4,4,4,4,4, 4,2,4], #02 water
[4,4,4,2,4, 4,4,4,8,2, 4,4,4,4,4, 4,2,4], #03 electric
[4,8,2,2,2, 8,4,8,2,8, 4,8,4,4,4, 4,4,4], #04 grass

[4,8,4,4,4, 2,8,4,4,4, 4,4,8,4,4, 4,8,4], #05 ice
[4,4,4,4,4, 4,4,4,4,8, 8,2,2,4,4, 2,4,8], #06 fighting
[4,4,4,4,2, 4,2,2,8,4, 8,2,4,4,4, 4,4,2], #07 poison
[4,4,8,0,8, 8,4,2,4,4, 4,4,2,4,4, 4,4,4], #08 ground
[4,4,4,8,2, 8,2,4,0,4, 4,2,8,4,4, 4,4,4], #09 flying

[4,4,4,4,4, 4,2,4,4,4, 2,8,4,8,4, 8,4,4], #10 psychic
[4,8,4,4,2, 4,2,4,2,8, 4,4,8,4,4, 4,4,4], #11 bug
[2,2,8,4,8, 4,8,2,8,2, 4,4,4,4,4, 4,8,4], #12 rock
[0,4,4,4,4, 4,0,2,4,4, 4,2,4,8,4, 8,4,4], #13 ghost
[4,2,2,2,2, 8,4,4,4,4, 4,4,4,4,8, 4,4,8], #14 dragon

[4,4,4,4,4, 4,8,4,4,4, 0,8,4,2,4, 2,4,8], #15 dark
[2,8,4,4,2, 2,8,0,8,2, 2,2,2,4,2, 4,2,2], #16 steel
[4,4,4,4,4, 4,2,8,4,4, 4,2,4,4,0, 2,8,4], #17 fairy
])

TL = exTL/4


TN = ["ノーマル","ほのお","みず","でんき","くさ",
"こおり","かくとう","どく","じめん","ひこう",
"エスパー","むし","いわ","ゴースト","ドラゴン",
"あく","はがね","フェアリー","ーーー"]

def ty1(a):
    c = 0
    for i in range(18):
        xlist = TL[i]
        n = sum(x>1 for x in xlist)
        c = c + 1
        if n>= a :
            print(n, TN[i])
    print(c)

def ty2(a):
    c = 0
    for i in range(18):
        for j in range(i):
            xlist = TL[i]*TL[j]
            n = sum(x>1 for x in xlist)
            c = c + 1
            if n >= a :
                print(n, TN[i],TN[j] )
    print(c)

def ty2plus(a):
    c = 0
    for i in range(18):
        for j in range(i):
            if i != 4 and j != 4 and i != 13 and j != 13:
            #くさ以外&ゴースト以外 
                for k in [4,13]:
                    xlist = TL[i]*TL[j]*TL[k]
                    #くさ以外&ゴースト以外&くさorゴースト
                    n = sum(x>1 for x in xlist)
                    c = c + 1
                    if n >= a :
                        print(n, TN[i],TN[j],TN[k] )
            elif i != 4 and j != 4 :
            #くさ以外&ゴースト よって くさゴースト以外&ゴースト
                xlist = TL[i]*TL[j]*TL[4]
                #くさゴースト以外&ゴースト&くさ
                n = sum(x>1 for x in xlist)
                c = c + 1
                if n >= a :
                    print(n, TN[i],TN[j],TN[4] )
    print(c)

def typ(a):
    print("1type")
    ty1(a)
    print("2type")
    ty2(a)
    print("2type +")
    ty2plus(a)


#自由に3つのタイプを持つ場合
def ty3(a):
    c = 0
    for i in range(18):
        for j in range(i):
              for k in range(j):
                    #下記の式を入れればくさorゴースト複合だけを抽出可能
                    #if i != 4 and j != 4 and k != 4 and i != 13 and j != 13 and k != 13:
                    #    continue
                    xlist = TL[i]*TL[j]*TL[k]
                    n = sum(x>1 for x in xlist)
                    c = c + 1
                    if n >= a :
                        print(n, TN[i],TN[j],TN[k] )
    print(c)
    
def ty123(a):
    print("1type")
    ty1(a)
    print("2type")
    ty2(a)
    print("3type")
    ty3(a)
    
typ(8)

#print(TL)

#こおり&ドラゴン&くさの3複合
#print(TL[4]*TL[5]*TL[14]) 

#みず&はがね&じめん&ひこうの4複合 弱点なし
#print(TL[2]*TL[8]*TL[9]*TL[16]) 

#サザンガルド
#print(TL[15]*TL[14]*TL[16]*TL[13]) 

 

 初級者なので、結果に関わる間違い以外はご容赦ください……

 

 TL(タイプリスト)は、見やすさのために0,2,4,8を用いて作った後、全体を4で割っています。当初は浮動小数点数絡みの判定で変なことが起きないほうが良いのかなと考えて4で割っていないものを使っていましたが、0.25と0.5しか登場しないなら大丈夫そうかなと思いこうなりました。後から、同様のポケモンのタイプについてのプログラミングの文献を探して引っ張ってくればよかったなと思いました。

Pythonで浮動小数点数floatの誤差を考慮して比較(math.isclose) | note.nkmk.me

 

 もりののろいorハロウィンの処理を複雑にしてしまいましたが、もりののろいorハロウィンの処理をしないバージョンに2行ちょっと書き加えればそれで作れたことに後から気がつきました。

 

 

 

実行結果

 

typ(8) の実行結果

 

<意味>

弱点が8つ以上のタイプ組み合わせを表示

ただし、もりののろいorハロウィンを2タイプ複合に対して使用することで実現できる組み合わせに限る(下線部の「2タイプ複合」は、まだ存在しない組み合わせもも含む)

 

1type 18 2type 153 2type + 8 エスパー こおり くさ 8 エスパー ひこう くさ 8 むし エスパー くさ 10 ドラゴン こおり くさ 8 ドラゴン エスパー くさ 8 ドラゴン むし くさ 8 あく こおり くさ

 

条件の都合で、くさタイプかゴーストタイプを持つ必要があります。

 

 

 

ty123(8) の実行結果

 

<意味>

弱点が8つ以上のタイプ組み合わせを表示

実現可能性は問わない

 

1type 18 2type 153 3type 8 じめん かくとう こおり 8 エスパー こおり くさ 8 エスパー ひこう くさ 8 むし エスパー くさ 8 いわ じめん かくとう 9 いわ エスパー こおり 8 いわ エスパー じめん 10 ドラゴン こおり くさ 8 ドラゴン エスパー くさ 8 ドラゴン むし くさ 8 ドラゴン むし エスパー 8 ドラゴン いわ じめん 8 ドラゴン いわ エスパー 8 あく こおり くさ 8 あく いわ こおり 8 あく いわ じめん 816

 

こちらは自由に3つのタイプを持つ場合です。

 

 

 

最も弱点が多いタイプ

 

 一番弱点が多いのは

こおり&ドラゴン&くさ

の複合でした。

 

 これは、こおり・ドラゴン複合に「もりののろい」を使うことで実現できます。また、こおり・ドラゴン複合は「キュレム」が存在するので、実際に作ることができます。

 

最多弱点ポケモン 爆誕

 ドラゴンが含まれているタイプが最多弱点を持つのは意外でした。ドラゴンは弱点は多くなく耐性は多いタイプなので。

 くさ・こおり複合に対して、ドラゴンが、元からの弱点への影響は4倍だったほのおのみに抑えつつ等倍3つを弱点に変えた、と考えると掴みやすいです。

 

 

<氷龍草の耐性>

2倍:ほのお こおり かくとう どく ひこう むし いわ ドラゴン はがね フェアリー

等倍:ノーマル エスパー ゴースト あく

1/2倍:じめん

1/4倍:みず でんき くさ 

 

 

<タイプのイメージ>

木が生えたキュレム

ドラゴンユキノオー

冷凍アップリュー(冷えたリンゴはおいしい)

アローラから南極に誘拐されたナッシー

 

 

2番目に弱点が多いタイプ

 

自由な組み合わせで3タイプを持つ場合、

弱点9つの いわ エスパー こおり が二番目に弱点が多いです。

現在のポケモンでは再現不可能なタイプです。

 

<岩超氷の耐性>

4倍:はがね

2倍:みず こおり かくとう じめん むし いわ ゴースト あく

等倍:ほのお でんき ドラゴン フェアリー

1/2倍:ノーマル こおり どく ひこう エスパー

 

<イメージ>

冷凍ルナトーン

ルージュラの石像

サイコアマルルガ(最古アマルルガではない)

 

 

弱点8個の組み合わせについては、上記の「実行結果」の項目で確認可能です。

ドラゴン いわ じめん(4倍弱点を打ち消しきれない)

じめん こおり かくとう(格闘は地面との組み合わせでのみランクインする)

むし くさ エスパー(不遇3タイプと呼ばれることがある)

あたりが面白いなと思いました。

 

 

 

最も耐性が多いタイプ

 

 半減以下に抑えられるタイプを多く持つのはどんな複合か、調べました。

 コードの中の弱点の個数を数えている部分のx>1をx<1に変えれば、耐性を調べることができます。

 

 

<typ(13) 実行結果>

耐性が13以上あるタイプの組み合わせ

1type 18 2type 153 3type 13 はがね でんき ノーマル 13 はがね ゴースト ノーマル 13 はがね ゴースト でんき 13 はがね あく どく 13 フェアリー はがね でんき 816

 

全てはがね複合

はがね・でんき複合が3つ、はがねノーマルとはがねゴースト複合が2つです。

 

 はがねの11の耐性に、1つずつ耐性を追加していくもの(はがね・でんき・ノーマル)と、2つ追加した後にそれで生じた穴を埋めるもの(はがね・あく・どく むし耐性をどくが穴埋め)。

 はがねというタイプの強さは頭一つ抜けているな、と再認識しました。

 

 

<実現可能性>

ゴーストを含むのが

はがね ゴースト ノーマル はがね ゴースト でんき

です。これらは「ハロウィン」のタイプ追加で作れます。ただし、はがね・ノーマル複合は現在存在しないので、はがね・でんきに「ハロウィン」することだけが実際に作れるものとなります

 

<電鋼霊の耐性>

4倍 じめん

2倍 ほのお ゴースト あく

等倍 みず

1/2倍 でんき くさ こおり エスパー いわ ドラゴン フェアリー

1/4倍 ひこう むし はがね

無効 ノーマル かくとう どく

 

<イメージ>

霊コイル

ロトム自転車

電動ギルガルド

 

 

 

その他の 最も〜〜が多いタイプ

 

最も8倍弱点が多いタイプ

1 どく でんき ほのお
1 ひこう こおり ほのお
1 ひこう じめん くさ
1 むし こおり ほのお
1 むし こおり くさ
1 むし かくとう くさ
1 むし ひこう ほのお
1 むし ひこう こおり
1 いわ でんき ほのお
1 いわ こおり ノーマル
1 いわ どく ほのお
1 いわ どく でんき
1 いわ じめん ほのお
1 いわ じめん みず
1 ドラゴン じめん くさ
1 ドラゴン ひこう くさ
1 ドラゴン ひこう じめん
1 あく こおり ノーマル
1 あく エスパー くさ
1 あく いわ ノーマル
1 あく いわ こおり
1 あく ドラゴン かくとう
1 はがね でんき ほのお
1 はがね こおり ノーマル
1 はがね こおり くさ
1 はがね どく ほのお
1 はがね どく でんき
1 はがね むし くさ
1 はがね むし こおり
1 はがね いわ ノーマル
1 はがね いわ ほのお
1 はがね いわ でんき
1 はがね いわ こおり
1 はがね いわ どく
1 はがね あく ノーマル
1 はがね あく こおり
1 はがね あく いわ
1 フェアリー いわ こおり

 

 

 

最も4倍弱点以上が多いタイプ

4 むし ひこう くさ
4 いわ こおり ほのお
4 いわ じめん こおり

 

それぞれ

いわ こおり ほのお ひこう

みず いわ かくとう じめん

みず くさ かくとう はがね

を4倍弱点に持ちます。

 

もりののろいバタフリーなど

 

 

最も1/4以下で受けられるタイプが多いタイプ

 

7 はがね ほのお ノーマル
7 はがね でんき ほのお
8 はがね ゴースト ほのお

 

8つを1/4以下で受けられます

 

<鋼炎霊の耐性>

1/4 むし くさ フェアリー こおり はがね

無効 どく かくとう ノーマル

 

ハロウィンヒードラン(特性ほのおのからだ

特性もらいびだとタイプ18のうち半分の9つを1/4以下で受けられます。

 

 ちなみにタイプ2つだとはがね&ほのおの6つがトップです。ヒードランの耐性の恐ろしさが分かります。

 

 

最も1/8以下で受けられるタイプが多いタイプ

 

5 はがね ゴースト ひこう
5 フェアリー ゴースト ひこう
5 フェアリー はがね ゴースト

 

<耐性>

1/8倍 むし

無効 かくとう ノーマル どくorじめんorドラゴン

 

 むしの攻撃の通りの悪さを改めて感じます。

 

 剣盾の序盤で出会うザシアンはフェアリー はがね ゴーストっぽさあるかもと思いかけた直後、あのときはまだフェアリー単タイプのザシアンだったことを思いました。

 

 

最も無効が多いタイプ

 

4 ゴースト じめん ノーマル
4 ゴースト ひこう ノーマル
4 ゴースト ひこう じめん
4 あく ゴースト ノーマル
4 あく ゴースト じめん
4 あく ゴースト ひこう
4 はがね ゴースト ノーマル
4 はがね ゴースト じめん
4 はがね ゴースト ひこう
4 はがね あく ゴースト
4 フェアリー ゴースト ノーマル
4 フェアリー ゴースト じめん
4 フェアリー ゴースト ひこう
4 フェアリー あく ゴースト
4 フェアリー はがね ゴースト

 

<耐性>

無効 ノーマル かくとう それ以外の無効にできるタイプのどれか

 

 

 

最も 〜〜が少ないタイプ

3タイプ複合限定

 

最も弱点が少ないタイプ

1 むし でんき みず
1 ゴースト エスパー ノーマル
1 あく どく でんき
1 あく ゴースト ノーマル
1 あく ゴースト どく
1 はがね ひこう みず
1 はがね ひこう でんき
1 はがね ドラゴン どく
1 はがね ドラゴン ひこう
1 はがね ドラゴン むし
1 フェアリー じめん みず
1 フェアリー ゴースト ノーマル
1 フェアリー はがね くさ
1 フェアリー はがね むし
1 フェアリー はがね ドラゴン

 

むし・でんき・みず(いわだけ)

フェアリーはがねドラゴン(じめんだけ)

あたりが面白いです。

 

 

最も耐性が少ないタイプ

1 エスパー かくとう こおり

 

<超闘氷の耐性>

2倍 ほのお ひこう ゴースト はがね フェアリー

等倍 それ以外

1/2倍 こおり

 

<イメージ>

キッサキシティチャーレム

超能力に目覚めたケケンカニ

武闘派ルージュラ

 

くさorゴースト複合に限定すると、

いわ こおり くさ(でんき・ノーマル耐性)

じめん こおり くさ(でんき・じめん耐性)

の耐性2つの組み合わせ2つがトップ

 

 

 

おわりに

 

 一昨年の11月に調べてから、20か月くらい経って記事になりました。

 

 放置していたあれを書こう!と思い立ったのは、やはり8/3のポケモンプレゼンツをもとに3つ目のタイプについて語る人々を観測したためです。

 

 新作スカーレット・バイオレットでの新要素テラスタルで、ポケモンのタイプが変わることが明らかになりました。

 それに対する反応の中に、既存のタイプにテラスタルタイプが追加されるという仕様だと思い込んだ発言がいくつかありました。

 ポケモン公式の情報にあたってみると

「テラスタルするとタイプが変わるポケモンもいます」

「なんのタイプになるかは、〜〜で変わるようです」

「中には、くさやみずタイプにテラスタルするイーブイも」

とあるため、タイプ追加ではなく、そのテラスタルタイプへのタイプ変更だと考えるのが今のところは自然だとは思います。

 ただ、昔調べたことを思い出したので、それを記事にしようと思いました。

 

 

 過去にプログラミングをした記事です。

tetspond.hatenablog.com

 1年以上ぶりでした。

 

 お読みいただきありがとうございました。

 

 

記事一覧 - テツポンドのブログ

 

Twitterアカウント

テツポンド (@tetspond) | Twitter

 

7852字