プログラミング

逆転裁判風のゲームのプログラム構造の考察

逆転裁判はプレイヤーがゲーム内キャラの話しを聞き推理をしていくゲームです。

ストーリーを読み進めるシーンと証言などを聞いて矛盾を指摘したり証拠を突き付けるシーンという主に2つのパートからなります。

そのゲームのプログラム的な構造はおそらく単純で、ストーリーパートは文章を表示させプレイヤーのタップなどで会話を進行させていくものです。プログラミングでいうとキーボード入力を受け付ける関数を使い、話を進めさせるのかメニューのようなものを開くのかを制御しているのでしょう。

推理パートはいくつかの段階から構成されていて、おそらくwhile文のようにループさせることでプレイヤーが証言などの会話を何度も聞けるようにしていると思われます。推理に進展があるアクションをした時点でwhileループをbreakで抜けて次の推理パートに遷移し、プレイヤーは推理を続けていくという流れなのだと思います。

そして複数のキャラクターから話を聞くのはif文やcase文などで分岐させ文章を表示させるウィンドウに収まらない場合、話の分量は分けて文字型配列に格納しておき、その配列の要素の文だけfor文で回数指定でループさせてそれをプレイヤーがタップするなどして読みながら進めるという構成でしょう。

1つのwhileで1つの推理パートが展開され、その中でifやcaseで誰の話しを聞くかなど分岐して、forループで話を読み、証拠を突き付けたりするのはキーボード入力で特定の文字を入力したときに実行するといった形がプログラムの全体像だと思われます。