POKEMON WORDLEのチートコマンドラインツールをPHPで作った

## TL；DR
* https://wordle.mega-yadoran.jp/ のチートツール
* ある日の問題が6回連続5文字全ハズレして勢いで作った
* PHPのgetoptまじわからん

## 仕様・引数の説明
* すべての引数はひらがなでも指定可能。ひらがな・カタカナ以外が指定されても愚直に動く
* `-u` 使ったけどハズレた文字、灰色のやつ
    * ハズレた位置含め除く機能は未実装
* `-e` 場所以外当たったやつ、黄色のやつ
* `-1` `-2` `-3` `-4` `-5` 場所含め当たったやつ、緑色のやつ

## HOW TO USE
1. 最初は適当なポケモンを入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/722/05a19881-6ff2-e35b-c30b-9a91c463eaa0.png)
1. `% ./pokemon.php -u ぱらせく -e と` を入力して結果から適当なポケモンを入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/722/359515a4-93a8-eb3a-3edd-bb4f73b4a301.png)
1. `% ./pokemon.php -u ぱらせくろっごん -e と` 同上
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/722/d33fd189-4ece-0dd0-bede-3a464ff23438.png)
1. `% ./pokemon.php -u ぱらせくろっごんべたー -e と` 同上
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/722/85aab447-4496-0210-3df3-46a151dc70cc.png)
1.  4連続で外して `と` が４番目なのが確定したので
```
% ./pokemon.php -u ぱらせくろっごんべたーだぐりお -4 と
ジュプトル
フォレトス
```
２択なので適当にジュプトルを入れる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/722/ccefce0d-adea-3d91-29a4-3d7d97b255fb.png)
* おわり


## コード

```pokemon.php
#!/usr/local/bin/php
<?php

$options = getopt('u:e:1:2:3:4:5:');

array_walk($options, function(&$i) {
	$i = mb_convert_kana($i, 'C');
});

$used = $options['u'] ?? 'パラセクト';
$existed = $options['e'] ?? '';

foreach (getPokemons() as $pokemon) {
	if (mb_strlen($pokemon) !== 5) {
		continue;
	}

	foreach (mb_str_split($used) as $v) {
		if (str_contains($pokemon, $v)) {
			continue 2;
		}
	}

	foreach (range(1, 5) as $k) {
		if (isset($options[$k]) && mb_substr($pokemon, $k -1, 1) !== $options[$k]) {
			continue 2;
		}
	}

	if (empty($existed)) {
		echo $pokemon, PHP_EOL;
		continue;
	}

	foreach (mb_str_split($existed) as $v) {
		if (!str_contains($pokemon, $v)) {
			continue 2;
		}
	}

	echo $pokemon, PHP_EOL;
}

function getPokemons() {
	$p = <<<AAA
ピィ
アーボ
ウッウ
ウパー
エネコ
オタチ
カブト
キバゴ
キモリ
ギアル
ギモー
クスネ
クラブ
コイル
コドラ
ゴチム
ゴンベ
ゴース
サンド
シシコ
シママ
スバメ
ゾロア
ダクマ
ダゲキ
ナゲキ
ヌオー
ヌメラ
パラス
ビッパ
ピッピ
フシデ
フーパ
ブビィ
ブルー
プテラ
プリン
ポカブ
ポッポ
マネネ
マリル
ミュウ
ムウマ
ムンナ
メテノ
モココ
モノズ
ヤクデ
ヤドン
ヨワシ
ラッタ
リオル
ルギア
ルリリ
ロコン
ロトム
アグノム
アサナン
アシマリ
アチャモ
アノプス
アブソル
アブリー
アマカジ
アマルス
アメタマ
アーケン
イオルブ
イトマル
イノムー
イワンコ
イワーク
イーブイ
ウソハチ
ウツドン
ウリムー
ウールー
エイパム
エモンガ
エレズン
エレブー
エンテイ
エーフィ
オオタチ
オクタン
オタマロ
オドシシ
オノンド
オーベム
カイロス
カビゴン
カブルモ
カムカメ
カメテテ
カメール
カモネギ
カラカラ
カリキリ
ガバイト
ガマガル
ガラガラ
ガルーラ
ガントル
ガーディ
キノココ
キバニア
キマワリ
キャモメ
キュレム
キルリア
ギギアル
クズモー
クチート
クルマユ
クルミル
グラエナ
ケムッソ
ケロマツ
ケーシィ
ゲンガー
コクーン
ココガラ
ココドラ
コダック
コノハナ
コマタナ
コモルー
コラッタ
コリンク
コロモリ
コンパン
コータス
ゴクリン
ゴチミル
ゴビット
ゴマゾウ
ゴルーグ
ゴロンダ
ゴローン
ゴースト
サイドン
サニーゴ
サボネア
サルノリ
サンダー
ザシアン
ザルード
シェイミ
シキジカ
シズクモ
シードラ
ジガルデ
ジヘッド
ジャラコ
ジュゴン
ジラーチ
スイクン
スコルピ
スナバァ
スナヘビ
スピアー
スボミー
スリープ
スワンナ
ズバット
ズルッグ
セレビィ
ゼクロム
ゼニガメ
ゼラオラ
ソーナノ
ゾウドウ
タタッコ
タッツー
タツベイ
タネボー
タブンネ
タマタマ
タマンタ
タンドン
ダダリン
ダブラン
ダンゴロ
ダンバル
チェリム
チゴラス
チュリネ
チリーン
チルット
ツチニン
ツツケラ
ツボツボ
テブリム
ディグダ
デスマス
デデンネ
デルビル
トゲピー
ドガース
ドゴーム
ドロンチ
ドンメル
ドードー
ドーブル
ナエトル
ナッシー
ナマケロ
ナマズン
ニャビー
ニャース
ニューラ
ニョロゾ
ニョロモ
ヌケニン
ヌメイル
ネイティ
ネマシュ
ノクタス
ノコッチ
ノズパス
ハスボー
ハッサム
ハネッコ
ハピナス
バオップ
バクーダ
バスラオ
バチュル
バネブー
バルキー
パウワウ
パチリス
パルキア
パールル
ヒコザル
ヒトカゲ
ヒトツキ
ヒトモシ
ヒドイデ
ヒバニー
ヒメグマ
ヒメンカ
ヒヤップ
ヒンバス
ビビヨン
ビーダル
ビードル
ピクシー
ピジョン
ピチュー
ピンプク
フィオネ
フォッコ
フカマル
フラベベ
フワンテ
ブイゼル
ブーバー
プクリン
ププリン
プラスル
プルリル
ヘイガニ
ヘルガー
ベベノム
ベロバー
ペラップ
ホイーガ
ホウオウ
ホエルコ
ホルビー
ホルード
ホーホー
ボクレー
ポチエナ
ポニータ
ポポッコ
ポリゴン
ポワルン
マイナン
マギアナ
マッギョ
マナフィ
マホミル
マメパト
マユルド
マリルリ
マンキー
マンムー
ミカルゲ
ミネズミ
ミブリム
ミミロル
ムックル
メグロコ
メタモン
メタング
メッソン
メラルバ
メリープ
メルタン
メレシー
モクロー
モスノウ
モルペコ
モンメン
ヤジロン
ヤドラン
ヤナップ
ヤバチャ
ヤミラミ
ヤヤコマ
ユキハミ
ユクシー
ユニラン
ヨマワル
ライコウ
ラクライ
ラッキー
ラブカス
ラプラス
ラルトス
リグレー
リザード
リリーラ
リングマ
ルカリオ
ルクシオ
レシラム
レディバ
ロゼリア
ワシボン
ワタッコ
ワニノコ
ワルビル
ワンパチ
ポリゴン2
ポリゴンZ
アイアント
アオガラス
アギルダー
アゲハント
アゴジムシ
アシレーヌ
アズマオウ
アバゴーラ
アブリボン
アママイコ
アマルルガ
アマージョ
アメモース
アリアドス
アリゲイツ
アルセウス
アンノーン
アーケオス
アーゴヨン
アーボック
アーマルド
イシズマイ
イシツブテ
イベルタル
イルミーゼ
イワパレス
ウインディ
ウォーグル
ウソッキー
ウツボット
ウツロイド
ウデッポウ
ウルガモス
ウーラオス
エアームド
エテボース
エネコロロ
エビワラー
エムリット
エリキテル
エルフーン
エルレイド
エレキッド
エレキブル
エレザード
エンブオー
エンペルト
オオスバメ
オコリザル
オシャマリ
オトスパス
オドリドリ
オニゴーリ
オニスズメ
オニドリル
オノノクス
オムスター
オムナイト
オンバット
オンバーン
オーダイル
オーロット
オーロンゲ
カイオーガ
カイリキー
カイリュー
カエンジシ
カクレオン
カゲボウズ
カジッチュ
カジリガメ
カチコール
カバルドン
カブトプス
カポエラー
カミツルギ
カメックス
カラサリス
カラナクシ
カラマネロ
ガオガエン
ガチゴラス
ガブリアス
ガマゲロゲ
ガメノデス
ガーメイル
キテルグマ
キノガッサ
キャタピー
キュウコン
キュワワー
キリキザン
キリンリキ
キレイハナ
キングドラ
キングラー
ギガイアス
ギギギアル
ギャラドス
ギャロップ
ギラティナ
ギルガルド
クイタラン
クサイハナ
クヌギダマ
クマシュン
クリムガン
クレセリア
クレッフィ
クレベース
クロバット
クワガノン
グライオン
グライガー
グランブル
グラードン
グレイシア
グレッグル
ケイコウオ
ケケンカニ
ケッキング
ケララッパ
ケルディオ
ケンタロス
ケンホロウ
ゲコガシラ
ゲッコウガ
ゲノセクト
コアルヒー
コイキング
コオリッポ
ココロモリ
コジョフー
コジョンド
コスモウム
コスモッグ
コソクムシ
コバルオン
コフキムシ
コフーライ
コロトック
コロボーシ
ゴウカザル
ゴチルゼル
ゴニョニョ
ゴルダック
ゴルバット
ゴローニャ
ゴーゴート
ゴーリキー
サイホーン
サクラビス
サザンドラ
サシカマス
サダイジャ
サッチムシ
サナギラス
サニゴーン
サマヨール
サメハダー
サワムラー
サンダース
サンドパン
サーナイト
ザマゼンタ
ザングース
シェルダー
シザリガー
シビシラス
シビビール
シビルドン
シャワーズ
シャンデラ
シュシュプ
シュバルゴ
シロデスナ
シンボラー
ジグザグマ
ジジーロン
ジバコイル
ジメレオン
ジャノビー
ジャランゴ
ジャローダ
ジュカイン
ジュプトル
ジュペッタ
ジーランス
スカタンク
スカンプー
スターミー
ストライク
スリーパー
ズガイドス
ズガドーン
ズルズキン
ゼブライカ
ゼルネアス
ソルガレオ
ソルロック
ソーナンス
ゾロアーク
タイレーツ
タテトプス
タマゲタケ
タマザラシ
タルップル
ダイケンキ
ダイノーズ
ダグトリオ
ダストダス
ダルマッカ
ダークライ
ダーテング
チェリンボ
チコリータ
チャオブー
チャーレム
チョボマキ
チョロネコ
チョンチー
チラチーノ
チラーミィ
チルタリス
ツタージャ
ツンベアー
テッカグヤ
テッカニン
テッシード
テッポウオ
テラキオン
テールナー
ディアルガ
デオキシス
デカグース
デスカーン
デスバーン
デリバード
デンチュラ
デンヂムシ
デンリュウ
トゲキッス
トゲチック
トゲデマル
トサキント
トドグラー
トドゼルガ
トランセル
トリデプス
トリトドン
トリミアン
トルネロス
トロッゴン
トロピウス
ドククラゲ
ドクケイル
ドクロッグ
ドサイドン
ドジョッチ
ドダイトス
ドッコラー
ドテッコツ
ドデカバシ
ドヒドイデ
ドラパルト
ドラピオン
ドラミドロ
ドラメシヤ
ドリュウズ
ドレディア
ドロバンコ
ドンカラス
ドンファン
ドータクン
ドードリオ
ドーミラー
ナゾノクサ
ナックラー
ナットレイ
ナマコブシ
ニダンギル
ニドキング
ニドクイン
ニドラン♀
ニドラン♂
ニドリーナ
ニドリーノ
ニャスパー
ニャヒート
ニャルマー
ニョロトノ
ニョロボン
ニンフィア
ヌイコグマ
ヌマクロー
ヌメルゴン
ネイティオ
ネオラント
ネクロズマ
ネッコアラ
ネンドール
ハガネール
ハギギシリ
ハクリュー
ハスブレロ
ハトーボー
ハハコモリ
ハブネーク
ハヤシガメ
ハリテヤマ
ハリボーグ
ハリマロン
ハリーセン
ハンテール
ハーデリア
バイバニラ
バオッキー
バクオング
バクガメス
バクフーン
バケッチャ
バシャーモ
バタフリー
バチンウニ
バチンキー
バッフロン
バニプッチ
バニリッチ
バリコオル
バリヤード
バルジーナ
バルチャイ
バルビート
バンギラス
バンバドロ
パッチール
パラセクト
パルシェン
パルスワン
パンプジン
ヒトデマン
ヒノアラシ
ヒノヤコマ
ヒヒダルマ
ヒポポタス
ヒマナッツ
ヒヤッキー
ヒードラン
ビクティニ
ビブラーバ
ビリジオン
ビリリダマ
ビークイン
ピカチュウ
ピジョット
ファイヤー
フォレトス
フクスロー
フシギソウ
フシギダネ
フシギバナ
フタチマル
フライゴン
フラエッテ
フリーザー
フリージオ
フレフワン
フローゼル
フワライド
フーディン
ブニャット
ブラッキー
ブリガロン
ブリザポス
ブリムオン
ブルンゲル
ブロスター
ブースター
ブーバーン
ブーピッグ
プロトーガ
ヘラクロス
ベイリーフ
ベトベター
ベトベトン
ベロベルト
ベロリンガ
ペリッパー
ペルシアン
ペロッパフ
ペロリーム
ペンドラー
ホエルオー
ホシガリス
ボスゴドラ
ボルトロス
ボーマンダ
ポッタイシ
ポッチャマ
ポットデス
マクノシタ
マグカルゴ
マグマッグ
マグマラシ
マケンカニ
マシェード
マスキッパ
マタドガス
マダツボミ
マッスグマ
マニューラ
マホイップ
ママンボウ
マラカッチ
マルノーム
マルマイン
マルヤクデ
マンタイン
マーイーカ
ミジュマル
ミズゴロウ
ミツハニー
ミニリュウ
ミノマダム
ミノムッチ
ミミッキュ
ミミロップ
ミュウツー
ミルタンク
ミルホッグ
ミロカロス
ムウマージ
ムクバード
ムクホーク
ムシャーナ
ムチュール
ムーランド
メェークル
メガニウム
メガプテラ
メガヤンマ
メタグロス
メノクラゲ
メブキジカ
メルメタル
メロエッタ
モウカザル
モグリュー
モジャンボ
モルフォン
モロバレル
モンジャラ
ヤトウモリ
ヤドキング
ヤナッキー
ヤブクロン
ヤミカラス
ヤルキモノ
ヤングース
ヤンチャム
ヤンヤンマ
ユキカブリ
ユキノオー
ユキメノコ
ユキワラシ
ユレイドル
ユンゲラー
ヨクバリス
ヨノワール
ヨルノズク
ヨーギラス
ヨーテリー
ライチュウ
ライボルト
ラグラージ
ラティアス
ラティオス
ラビフット
ラフレシア
ラムパルド
ラランテス
ランクルス
ランターン
ランドロス
ランプラー
リザードン
リーシャン
リーフィア
ルガルガン
ルチャブル
ルナアーラ
ルナトーン
ルンパッパ
ルージュラ
レアコイル
レイスポス
レジアイス
レジエレキ
レジギガス
レジスチル
レジドラゴ
レジロック
レックウザ
レディアン
レドームシ
レパルダス
レントラー
ロズレイド
ローブシン
ワカシャモ
ワタシラガ
ワルビアル
ワンリキー
アクジキング
アップリュー
アーマーガア
イエッサン♀
イエッサン♂
イシヘンジン
インテレオン
ウオチルドン
ウオノラゴン
エンニュート
エースバーン
オニシズクモ
カットロトム
カプ・コケコ
カプ・テテフ
カプ・ブルル
カプ・レヒレ
カマスジョー
グソクムシャ
ゴリランダー
シルヴァディ
ジャラランガ
ジュナイパー
ジュラルドン
ストリンダー
スピンロトム
セキタンザン
タイプ：ヌル
タチフサグマ
ダイオウドウ
ツンデツンデ
ディアンシー
デンジュモク
ナゲツケサル
ニャイキング
ネギガナイト
バイウールー
バドレックス
パッチラゴン
パッチルドン
ヒートロトム
ファイアロー
フェローチェ
フォクスライ
フラージェス
ボルケニオン
マッシブーン
マフォクシー
マーシャドー
ムゲンダイナ
メガアブソル
メガカイロス
メガガルーラ
メガクチート
メガゲンガー
メガスピアー
メガタブンネ
メガハッサム
メガバクーダ
メガヘルガー
メガヤドラン
メガヤミラミ
メガルカリオ
ヤレユータン
ニャオニクス♀
ニャオニクス♂
フロストロトム
メガエルレイド
メガオニゴーリ
メガカメックス
メガガブリアス
メガギャラドス
メガサメハダー
メガサーナイト
メガジュカイン
メガジュペッタ
メガチャーレム
メガチルタリス
メガデンリュウ
メガハガネール
メガバシャーモ
メガバンギラス
メガピジョット
メガフシギバナ
メガフーディン
メガヘラクロス
メガボスゴドラ
メガボーマンダ
メガミミロップ
メガメタグロス
メガユキノオー
メガライボルト
メガラグラージ
メガラティアス
メガラティオス
メガレックウザ
メガミュウツーX
メガリザードンX
メガミュウツーY
メガリザードンY
ウォッシュロトム
ゲンシカイオーガ
ゲンシグラードン
サトシゲッコウガ
ブラックキュレム
ホワイトキュレム
メガディアンシー
ウルトラネクロズマ
AAA;
	return explode(PHP_EOL, trim($p));
}
```

## 感想
* たのしかった