knock your creativity

使い方は未定 Twitter: @milkynapoly

ポケモンWordleを攻略する

こんばんは。

皆さんWordleやってますか? 僕は毎日やってます。

すっかり寝る前 or 起きた後の習慣になったWordleですが、僕は本家に加えてポケモンの名前でWordleやるポケモンWordle - ポケモンの名前を当てるクイズゲームもやってます。

 

通常のWordleと比べて単語が予測し辛い一方で、ポケモンの名前は知らないものがないのでポケモン好きな人にとっては過不足なく楽しめる感じが好きです。

 

で、この予測しづらいという部分について考えていたんですが

通常のWordleだと例えば「AIUEO」とかの母音だったり「STG」とかの(比較的)メジャーな子音を先に打つみたいなのを考えるんですけど

ポケモンWordleでもそういう攻略法があって良いのでは? と思いました。

 

そしてもっと言えばポケモンWordleで登場するお題はすべて分かっているので、確実な攻略を作れるのでは!? とか考えてしまった次第です。

 

 

というわけで、やってみた。

 

 

具体的に何をするのかというと、プログラミングでポケモンの名前を構成する文字を集計するという力業(ポケモンLEGENDS アルセウス 好評発売中)です。

 

まずはポケモンの名前一覧が欲しいので適当に探してみました。

PokeAPIとかも試してみようかと思ったんですが、面倒臭そうだったし名前だけあれば良いので情報過多だなと避けました。

 

結果 ポケモン一覧 (ぽけもんいちらん)とは【ピクシブ百科事典】 に落ち着きました。編集してくれる人に感謝

ざっとコピペしてきて、余計な部分を削って文字列として取り敢えずエディタに貼り付ける。

f:id:milkynapoly:20220317191308p:plain

 

空白とか改行文字で区切って、図鑑ナンバーで名前をソートする……的なことをやったあと

5文字の名前のポケモンだけを抽出して、あとは文字ごとの集計作業を行いました。

ポケモンWordleはデイリーの出題範囲がダイパまでなので、全国図鑑版とダイパまでの図鑑版を作成してそれぞれで結果を出します。

 

一応上の続きのソースコードを貼っておくと、こんな感じです(言語はRuby)

pokemons = pokemons_str.split(/\p{blank}|\n/)
pokemons_hash = {}

pokemons.each_slice(2) do |pokemon|
  number = pokemon[0]
  name = pokemon[1]
  pokemons_hash[number.to_i] = name
end

# 図鑑No.順にソート
all_pokemons = pokemons_hash.to_a.sort_by(&:first).transpose.last
shinoh_pokemons = all_pokemons.slice(0...493)


def get_letter_ranking(source_pokemons)
  five_letter_pokemons = source_pokemons.select do |name|
    name.size == 5
  end
 
  ranking_hash = {}
  five_letter_pokemons.each do |name|
    name.each_char do |c|
      if ranking_hash[c]
        ranking_hash[c] += 1
      else
        ranking_hash[c] = 1
      end
    end
  end

  ranking_arr = ranking_hash.to_a.sort_by(&:last).map do |char_number|
    "#{char_number.first},#{char_number.last}"
  end.reverse
end

puts get_letter_ranking(shinoh_pokemons)

最後のget_letter_rankingの引数をall_pokemonsに変えれば全国版のランキングが出せます。

文字,個数 の行がたくさん出力される形になるので、これをスプレッドシートに貼り付けて完成です。

 

 

結果(ダイパまでの図鑑)

f:id:milkynapoly:20220317192204p:plain

薄々気付いてはいましたが、やはりポケモンの名前には「」と「」が圧倒的に多く含まれているっぽいです。

あとは「」も結構上位なので、名前に「ドン」がつくポケモンを選んでいた吉野家のコラボはあながち間違いではなかったということも証明されたわけです。間違いってなんだよ

 

それ以降でも結構偏りがあるようで、11位の「」以降でも数がガクッと減っている印象です。

というわけで、1位~11位の文字を早めに網羅すればポケモンWordleでありがちな「ずっと灰色のまま」を避けやすいのではないかと思い考えたわけですが……見事にハマる例がありました。

 

それは「ストライク」と「リザードン」で、

この2体(つまり10文字)で、ランキングの上位11文字中の9文字をカバー出来ます。

 

あとは「ッ」と「ル」なので、「ゴルバット」辺りを入れておけばほぼ確実に2,3文字くらいは開けられる(はず)

 

その他だと「ジーランス」とか「ルナトーン」辺りも良さげで

ランクルス」もかなり良い感じなのですが、デイリーの範囲には入っていないので除外。

 

 

上位の結果はダイパ版も全国版もこんな感じでしたが、下位に意外な結果が。

f:id:milkynapoly:20220317193247p:plain

 

へ 1

 

そう、実は5文字の名前のポケモンで「へ」がつくポケモンは「ヘラクロス」の1体しかいないのです

ヘラクロスは比較的上位の文字も含んでいるので、1回目の回答に取り敢えず書いてみる、というのも悪くないかもしれません

 

似たような例で「ポケモンの名前に使われていない文字」も探してみたところ

「ゥ」「ヅ」「ヲ」

の3文字が該当したので、これらのボタンは押してはダメです(謎の強い口調)

 

ちなみに「ヂ」は「デンヂムシ」の1体にしか使われておらず、デイリーの出題範囲ではないためこれも実質必要ないボタンだったりします。

あとは「ヘ」と同様に「ゾ」もダイパまでの出題範囲では「ナゾノクサ」の1体しかいないようですが、他の文字が軒並み順位低いので最初に書くのにはあまりオススメ出来ないですね。

 

 

というわけで特にオチはないですが、不意に思いついたことを実験してみたら楽しかったという共有でした。

たださっきポケモンWordleのページ開いたらオンライン対戦モードを試験的に実装してるそうなので、ワンチャンこの攻略記事(?)がバズるかもしれません。

 

 

それでは。

 

 

kyc