Help us understand the problem. What is going on with this article?

プリキュアの各言語での実装まとめ

More than 3 years have passed since last update.

前置き

空前のズンドコブームによりズンドコキヨシが各言語で実装されています。

ズンドコキヨシまとめ - Qiita

きよしのズンドコ節のリリースは2002年 1 です。歴史があります。

しかしそれと同じくらいプリキュアにも歴史があります。プリキュアシリーズ第1作目である ふたりはプリキュア の放映開始は2004年です。ズンドコと近い!

キュアエンジニア 2 としては妙な親近感と対抗意識がわいたので、各プログラミング言語で実装されたプリキュアの紹介をしたいと思います

各言語での実装紹介

Acme::PrettyCure (Perl実装)

@kan氏作

全てはここから始まったと言っても過言ではない

執筆時点では第10作目の ドキドキ!プリキュア まで対応しています

pycure(Python実装)

@drillbits 氏作

執筆時点では第11作目の ハピネスチャージプリキュア! まで対応しています

rubicure(Ruby実装)

sue445作

前述の Acme::PrettyCure と pycure にインスパイアされて作りました

執筆時点では最新作の 魔法つかいプリキュア! まで対応しています :triumph:

詳しくは下記エントリをご覧ください

rubicureの活用事例です

Precure(Common Lisp実装)

@stibear 氏作。

執筆時点では第10作目の ドキドキ!プリキュア まで対応しています

groovycure(Groovy実装)

@ligun 氏作

執筆時点では第12作目の Go!プリンセスプリキュア まで対応しています

clocure(clojure実装)

@ka_ 氏作。

執筆時点では最新作の 魔法つかいプリキュア! まで対応しています

precure.js(JavaScript実装)

@daishi_hmr 氏作。

執筆時点では第11作目の ハピネスチャージプリキュア! まで対応しています

goprecure(golang実装)

sue445作

Go!プリンセスプリキュア のみに対応しています 3

yes-precure5-command (haskell実装)

@igrep 氏作。

第4作目の Yes!プリキュア5 と 第5作目の Yes!プリキュア5GoGo! のみに対応

FCure(F#実装)

@pocketberserker 氏作

後述のRubicureAPIのjsonをそのまま利用してるらしい

typesafe-precure (Haskell実装)

@igrep 氏作

執筆時点では最新作の 魔法つかいプリキュア! まで対応しています

【おまけ】その他ツール群

Cureutils

@greymd 氏作。

rubicureを利用した 次世代高度キュアIT人材育成用コマンド集

詳しくは 入門Cureutils // Speaker Deck 参照

RubicureAPI

sue445作

rubicureをwebアプリにマウントしてjsonで取得できるようにしています。Rubyがインストールされてない環境でも curl があれば最新のプリキュア情報にアクセスできます

$ curl -s https://rubicure.herokuapp.com/series.json | jq .
[
  {
    "series_name": "unmarked",
    "title": "ふたりはプリキュア",
    "started_date": "2004-02-01",
    "ended_date": "2005-01-30",
    "girls": [
      "cure_black",
      "cure_white"
    ]
  },
  {
    "series_name": "max_heart",
    "title": "ふたりはプリキュア Max Heart",
    "started_date": "2005-02-06",
    "ended_date": "2006-01-29",
    "girls": [
      "cure_black",
      "cure_white",
      "shiny_luminous"
    ]
  },
  {
    "series_name": "splash_star",
    "title": "ふたりはプリキュア Splash☆Star",
    "started_date": "2006-02-05",
    "ended_date": "2007-01-28",
    "girls": [
      "cure_bloom",
      "cure_egret"
    ]
  },
  {
    "series_name": "yes",
    "title": "Yes! プリキュア5",
    "started_date": "2007-02-04",
    "ended_date": "2008-01-27",
    "girls": [
      "cure_dream",
      "cure_rouge",
      "cure_lemonade",
      "cure_mint",
      "cure_aqua"
    ]
  },
  {
    "series_name": "yes_gogo",
    "title": "Yes! プリキュア5 Go Go!",
    "started_date": "2008-02-03",
    "ended_date": "2009-01-25",
    "girls": [
      "cure_dream",
      "cure_rouge",
      "cure_lemonade",
      "cure_mint",
      "cure_aqua",
      "milky_rose"
    ]
  },
  {
    "series_name": "fresh",
    "title": "フレッシュプリキュア!",
    "started_date": "2009-02-01",
    "ended_date": "2010-01-31",
    "girls": [
      "cure_peach",
      "cure_berry",
      "cure_pine",
      "cure_passion"
    ]
  },
  {
    "series_name": "heart_catch",
    "title": "ハートキャッチプリキュア!",
    "started_date": "2010-02-07",
    "ended_date": "2011-01-30",
    "girls": [
      "cure_blossom",
      "cure_marine",
      "cure_sunshine",
      "cure_moonlight"
    ]
  },
  {
    "series_name": "suite",
    "title": "スイートプリキュア♪",
    "started_date": "2011-02-06",
    "ended_date": "2012-01-29",
    "girls": [
      "cure_melody",
      "cure_rhythm",
      "cure_beat",
      "cure_muse"
    ]
  },
  {
    "series_name": "smile",
    "title": "スマイルプリキュア!",
    "started_date": "2012-02-05",
    "ended_date": "2013-01-27",
    "girls": [
      "cure_happy",
      "cure_sunny",
      "cure_peace",
      "cure_march",
      "cure_beauty"
    ]
  },
  {
    "series_name": "dokidoki",
    "title": "ドキドキ!プリキュア",
    "started_date": "2013-02-03",
    "ended_date": "2014-01-26",
    "girls": [
      "cure_heart",
      "cure_diamond",
      "cure_rosetta",
      "cure_sword",
      "cure_ace"
    ]
  },
  {
    "series_name": "happiness_charge",
    "title": "ハピネスチャージプリキュア!",
    "started_date": "2014-02-02",
    "ended_date": "2015-01-25",
    "girls": [
      "cure_lovely",
      "cure_princess",
      "cure_honey",
      "cure_fortune"
    ]
  },
  {
    "series_name": "go_princess",
    "title": "Go!プリンセスプリキュア",
    "started_date": "2015-02-01",
    "ended_date": "2016-01-31",
    "girls": [
      "cure_flora",
      "cure_mermaid",
      "cure_twinkle",
      "cure_scarlet"
    ]
  },
  {
    "series_name": "maho_girls",
    "title": "魔法つかいプリキュア!",
    "started_date": "2016-02-07",
    "girls": [
      "cure_miracle",
      "cure_magical"
    ]
  }
]
$ curl -s https://rubicure.herokuapp.com/girls/cure_miracle.json | jq .
{
  "girl_name": "cure_miracle",
  "human_name": "朝日奈みらい",
  "precure_name": "キュアミラクル",
  "cast_name": "高橋李依",
  "color": "pink",
  "created_date": "2016-02-07",
  "birthday": "6/12",
  "extra_names": null,
  "transform_calls": [
    "cure_up_rapapa"
  ],
  "transform_styles": {
    "diamond": {
      "girl_name": "cure_miracle_diamond",
      "precure_name": "キュアミラクル(ダイヤスタイル)",
      "color": "pink",
      "created_date": "2016-02-07",
      "transform_message": "キュアップ・ラパパ! ダイヤ!\nミラクル・マジカル・ジュエリーレ!\nふたりの奇跡!キュアミラクル!\n魔法つかいプリキュア!!",
      "attack_messages": [
        "リンクルステッキ!\nダイヤ!永遠の輝きを私達の手に!\nフルフルリンクル!\nプリキ ュア・ダイヤモンド・エターナル!\n"
      ]
    },
    "ruby": {
      "girl_name": "cure_miracle_ruby",
      "precure_name": "キュアミラクル(ルビースタイル)",
      "color": "red",
      "created_date": "2016-02-21",
      "transform_message": "キュアップ・ラパパ! ルビー!\nミラクル・マジカル・ジュエリーレ!\nふたりの奇跡!キュアミラクル!\n魔法つかいプリキュア!!",
      "attack_messages": [
        "リンクルステッキ!\nルビー!紅の情熱よ私達の手に!\nフルフルリンクル!\nプリキュ ア・ルビー・パッショナーレ!\n"
      ]
    }
  }
}

APIの方が古いrubicureを使い続けてるような心配もあるかもしれないですが、

  1. rubicureをリリース
  2. Tachikoma.io が週に1回 bundle update してPullRequestを作成
  3. PullRequestをマージしたらHerokuに自動デプロイ

のような半自動運用にしてるのでだいたい最新に追随しています

最後に

僕が把握してるのはこれだけですが他にありましたらコメントや編集リクエストで教えてください :wink:


  1. ズンドコ節 - Wikipedia より 

  2. プリキュアが好きなエンジニア 

  3. Goだけに 

sue445
https://twitter.com/sue445
http://sue445.hatenablog.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした