デッキ分布生成の例を作ってみました


※デュエプレ運営の方々に向けたものです。一般の方はお帰りください。



 先日、デュエプレGPを見ていて気になる発言がありまして、


「デッキ登録の締め切りがギリギリだったので、デッキ分布の集計が間に合わなくて・・・」

みたいな話でした。



(え?まさかそこ手作業なの?)と思ったので、ちょっと例を作ってみました。


まず、必要な処理の流れとしてはこんな感じのはずです。



このうち、表 → グラフの部分はExcelか何かでやってるでしょうからここでは無視。

問題はデッキ情報 → 分布(表)でしょう。



まあでもそんなに難しくはないはずで、デッキ内のカードによって分ければいいだけです。


1つ注意があるとすれば、時間によって環境は変わるので、デッキをどう分けるかという

デッキ定義の部分だけは外部ファイル化しておいた方が良いでしょう。





こうしておけば、環境が変わってもこのテキストファイルを修正するだけで済みます。

誰でも修正ができるというわけです。



非常に簡素ですが、例を作ってみました。




しかし、当然私はデュエプレのDBにアクセスはできませんので、

とりあえずデュエプレ公式サイトのデッキ編成で出来るURLをデッキ情報として、

仮に実装しました。


上のテキストエリアが大会で登録されたデッキ情報として、

下のテキストエリアがデッキ定義です。

本来はデッキ定義が.jsonファイルとして設置されるはずですが、

Web上の例としてはその場で編集できた方がわかりやすいかな?と思いまして。


本来デッキ定義はカード名だけで出来るのが理想ですが、

今回は面倒そうだったのでデッキURLで使われているキーを使っちゃいました。



あと、デッキ画像のURLは過去の分布でデッキに画像ついてたので、

仮でキーカードの画像のURLを一応つけてみました。(デッキ定義内で変更可能)




リポジトリはこちら

非常に簡単な例ですが、参考にしていただければ幸いです。



作ってて思いましたが、別にデュエプレ以外のカードゲームでもほぼ同様に実装できますね。

本気でやるならデッキ情報の取得にinterfaceかませて汎用性をあげても良いのですが、

まあそこまでしなくても良いだろ、と思ったので横着してます。


あとjavascriptでJSONライブラリ探すのも面倒だったので横着してます。

ちゃんとJSONからデシリアライズするライブラリ使えばもっと簡単になります。



コメント

このブログの人気の投稿

Uberママチャリ配達員の装備紹介!

時給計算機

7/27 Uber稼働報告(ちょうどいいので夏休みにします)