ポケモン対戦で相手の選出を記録するAndroidアプリを作ってみた
はじめまして。ウォルフォンです。今回はポケモンで役に立つアプリを作ってみたのでその紹介をします。
1. 導入
去年の世界チャンピオンであるバルドルさんはレートの対戦で、相手の選出をExcelに記録し、どういう選出をよくされるか傾向を調べていると聞きました。自分もそのようなことをしてみたいと思い、Android Studioで同じことができるアプリを作りました(実際にバルドルさんがどういうソーティングをしてるか知らないので完全に同じではない)。
2. アプリ説明
アプリ名はポケログと名付けました。まず最初の画面です。端末の内部ストレージに"PokemonBattleDataAnalysis"という名前のフォルダをつくっており、その中に保存されているxmlファイルをすべて表示しています。このファイルには今まで対戦した相手パーティの6体が記録されています(xmlなので端末からは見れない)。
記録を見たい or 追加したいファイル名を選択します。新しくファイルを作りたいときは新規作成と書かれているボタンの左にあるテキストボックスにファイル名を入力し、ボタンを押す。名前は自分がどんなパーティを使ったかがわかるようにしたいですね。
ファイル選択 or 新規作成をしたあとの画面がこちらになります。inputと書かれているボタンを押すとパーティ入力画面へ、outputはどういう選出が多かったかソーティング結果を出力する画面に遷移します。
こちらがパーティの入力画面になります。上から順に先発で来た2匹、後発で来た2匹、選出されなかった2匹を入力します。入力が終わったらRecordと書かれたボタンを押します。そうすると、最初の画面で選択したファイル名に記録されます。
こちらは結果の出力画面になります。先発、後発で選出されたポケモンが1~4位までランキングで表示されます。ちなみに同数の場合は記録された順に表示しています。
下のほうに条件絞り込みと書かれたボタンがあります。これを押すと任意のポケモンがいるパーティに限定してソーティングすることができます。
こちらがその条件を設定する画面になります。最大で6匹までポケモンを指定できます。例としてカプ・コケコでやってみましょう。記入が終わったら決定と書かれたボタンを押します。
こちらがその結果になります。少し結果が変わりましたね。これによりグロス軸、リザ軸などパーティの系統別で調べることができます。
ちなみにここで見せている結果はデバッグ用でテキトーに作ったデータ(data.xml)なのでご了承ください。
3. 問題点・改善点
①ポケモン名がユーザーに依存する
記録自体はユーザーが入力したポケモンの名前そのまま記録されます。つまり、昔は火ロトムと入力したのに後でヒートロトムと入力してしまうと違うポケモンとして認識されてしまいます。裏を返せば英語にも対応していると言えますが。。。
本当はポケモン名の一覧を表示して選ばせる形式にしたかったのですが、フォルムチェンジなどを含む800匹以上のポケモンの名前をいちいち打ち込むのが面倒だったのでこの形式にしました。誰かポケモン名がすべてあるテキストファイルをくださると幸いです。。。
②順位の偏りがわからない
結果の出力画面ではポケモン名しか表示されていないので定量的な評価ができません。棒グラフで可視化できるといいですね。
③UI・画面デザインがテキトー
今の段階では自分用に作ったので当然です。自分はデザイナーでもないので。
④ダブルバトルのみにしか対応していない
公式ルールをやりましょう。
4. 最後に
アプリが完成したのは昨日で、作成日数は仕様決めも含めて4日くらいでした。まずは自分で使ってみてバグないかチェックしていきます。
ここまで読んでいただきありがとうございました!
※サムネ用