Acme::KamenriderFourze - 仮面ライダーフォーゼに変身してみよう

toritori0318
2011-12-23

こんにちは。
Acme Track再登場のtoritori0318です。
[/articles/advent-calendar/2011/acme/7:title=前回]の最後に「フォーゼモジュール書くかも」といった話をしましたが、
今回はそれを実装しましたー、というお話です。


仮面ライダーフォーゼとは

さて、仮面ライダーオーズも終了し9月から仮面ライダーフォーゼが始まりましたね。
今回のライダーはギミック満載で楽しいですね!宇宙キター!

しかしフォーゼの影響でうちの2歳児が「バッドボーイ」という言葉を覚えてしまいました。Oops!


あ、仮面ライダーフォーゼについてあまりご存じない方はこちらを御覧ください。

仮面ライダーフォーゼの変身について

仮面ライダーといえば変身シーンですね。
もちろん仮面ライダーフォーゼにも変身シーンがあります。
フォーゼは以下のような流れで変身を行います。

  1. フォーゼドライバー(ベルト)にスイッチを4つセットします
  2. フォーゼドライバーの4つのトランスイッチをONします
  3. フォーゼドライバーのエンターレバーを操作すると変身へのカウントダウンが始まります
  4. 変身!宇宙キター!

スイッチは全部で40種類存在し、*1
スイッチの種類によって様々な装備を実装することができます。
またスイッチによってはフォーゼの変身形態を変化させる
「ステイツチェンジ」が発生するスイッチも存在します。

Perlでも変身したい

さて、ここまでの説明で(ry
今回もフォーゼに変身できるモジュール Acme::KamenriderFourze を書いてみました。早速変身してみましょう。

  use Acme::KamenriderFourze;

  my $fourze = Acme::KamenriderFourze->new;

  # フォーゼドライバーにスイッチをセット
  $fourze->fourze_driver(1,2,3,4);
  #### 将来的には「スイッチ名」でセットできるようにする

  # スイッチオン!
  $fourze->henshin_switch_on;

  # スリー、ツー、ワン、変身!
  # chinchinchin baooon

oneliner
見事に変身できましたね!


またスイッチの組み合わせによってはリミットブレイクが発生し、必殺技を繰り出すことが可能です。

  ...
  $fourze->henshin_switch_on;

  # ローケットー オン
  $fourze->module_switch_on(pos => 'maru');
  # ドリルー オン
  $fourze->module_switch_on(pos => 'sankaku');
  #### 以下のような指定も可能
  #### $fourze->module_switch_on(switch_no=> 3);
  #### $fourze->module_switch_on(switch_name => 'ドリル');

  # リミットブレイク!
  $fourze->limitbreak;

oneliner
必殺技発動!


スイッチ情報/ステイツ情報/リミットブレイク情報

スイッチ情報/ステイツ情報/リミットブレイク情報を引くことも可能です。
勉強して友達に自慢しよう!

  # スイッチ一覧
  my @switch = $fourze->select('switch');
  my @switch = $fourze->select('switch', {no=>1});
  my @switch = $fourze->select('switch', {name=>'ドリル'});

  # ステイツ一覧
  my @states = $fourze->select('states');

  # リミットブレイク一覧
  my @limitbreak = $fourze->select('limitbreak');

放映中

フォーゼはまだ現在放映中ということもあり、スイッチ情報はまだ全ては揃っていません。
詳細は徐々に明らかになっていくことでしょう。
それに合わせてモジュールも更新していく予定です。


さて、AcmeTrackももうすぐ完走ですね。
次回はどなたの記事になるのでしょうか?

*1: 2011/12/27時点では25個