ITエンジニア/デザイナ向けにオープンソースを毎日紹介

私にも娘がいて、幼稚園くらいの頃にはプリキュアに夢中になっていた時代がありました。たぶん小さい女の子はみんな一度はハマる時期があるのではないかと思います。

それを一緒に見ていた(または単独でも可)プログラマーはお父さんが腕にものを言わせるとRubicureというのが出来上がる訳です。

RubicureはRubyのバージョンは2.0以降が要求されます。インストールはRubyGemsでできますのでさっそく試してみましょう。

$ gem install rubicure

完了したらおもむろにirbを実行します。

require "rubicure"

そして実行します。

Precure.title
#=> "ふたりはプリキュア"

うーん熱い。

実行結果。ハッシュで受け取れます。
実行結果。ハッシュで受け取れます。

Precure.max_heart.title
#=> "ふたりはプリキュア Max Heart"

うーん実に熱い。作者の情熱を感じますね。

Precure.find(:smile).title
#=> "スマイルプリキュア!"

こんな感じにデータを取り出すこともできます。放送時期もデータに入っているので、

Precure.dokidoki.on_air?("2013-12-16")
#=> true

こんな感じにドキドキ!プリキュアがやっているかどうかのチェックもできるのです。

さらにキャラクターの一覧もとれます。

Precure.smile.girls.map(&:human_name)
#=> ["星空みゆき", "日野あかね", "黄瀬やよい", "緑川なお", "青木れいか"]
Precure.smile.girls.map(&:precure_name)
#=> ["キュアハッピー", "キュアサニー", "キュアピース", "キュアマーチ", "キュアビューティ"]

さらに個々のプリキュアに対してメタ情報が登録されています。

Cure.lemonade
#=> #<rubicure::girl:0x007fbd60ae72a0 @human_name="春日野うらら", @precure_name="キュアレモネード", @transform_message="プリキュア!メタモルフォーゼ!\nはじけるレモンの香り、キュアレモネード!\n希望の力と未来の光!\n華麗に羽ばたく5つの心!\nYes!プリキュア5!\n", @extra_names=[], @current_state=0, @state_names=["春日野うらら", "キュアレモネード"]>

変身セリフがちゃんと入っているのが熱いですよね。もっと言えば変身もできちゃいます。

# these are same
yayoi = Cure.peace
yayoi = Precure.smile.girls[2]

yayoi.name
#=> "黄瀬やよい"

yayoi.transform!

(レディ?)
プリキュア・スマイルチャージ!
(ゴー!ゴー!レッツ・ゴー!ピース!!)
ピカピカピカリンジャンケンポン! キュアピース!
5つの光が導く未来!
輝け!スマイルプリキュア!

# 1回目の変身!
yayoi.name
#=> "キュアピース"

# 2回目の変身!
yayoi.transform!
yayoi.name
#=> "プリンセスピース"

# 最終形態!
yayoi.transform!
yayoi.name
#=> "ウルトラピース"

凄いですよね、ね!?

さらに凄いと思うのは、Perl版のAcme::PrettyCureがあったり、Python版のPycureが既にあって、それにインスパイアされているとことでしょうか。どんだけプリキュア業界はプログラマを虜にしているのかと。

同じような仕組みはキャラクターの多いアニメなどで実現できそうだなと思う訳ですが、ドラゴンボールやら仮面ライダーで探しても同様のライブラリはなさそうなのでやはりプリキュアだけが強烈に愛されている印象です。

RubicureはRuby製のオープンソース・ソフトウェア(MIT License)です。

sue445/rubicure/rubicure::girl:0x007fbd60ae72a0

 

MOONGIFTの関連記事

コメント

  • DevRel
  • Com2