神戸ルル@VTuber ラボ

プログラミング・システム開発・アプリ開発関連のブログ

[ヤンデレル」暗号の答えの設定方法(完全ネタバレ)

※ネタバレの可能性もあるサンプルプログラム解説記事なので、まず「ヤンデレル ~記憶喪失からはじまる脱出ゲーム~」総合案内を読んでからこの記事を読んでください。


完全にゲームの攻略方法の解説を含んでしまうので注意してください。

このサンプルコードでは、暗号の答えを入力する箇所が2つあります。

  1.  アイテムのスマホのロックを解除するためのパスキー
  2. このゲームを脱出(クリア)するための手順

なお、1つ目のスマホのロックを解除しないと、2つ目の手順を受け付けない(アイテム「リモコン」が動作しない)仕様になっています。

ちなみにプログラミングすることなくアイテム「ノート」の本文や部屋の画像を差し替えるなどして、これらを導き出すための暗号やヒントを散りばめることができます。

ただし、プロローグはゲームプレイ時に1回しか表示することができず、セーブデータをリセットしないと見返すことができない仕様のため、そこにヒントや暗号を含めないようにしてください。

スマホのロック解除

アイテム「スマホ」のロックを解除するためのパスキーは、定数PASSCODE_PHONEで設定します。
サンプルコード(c470321) 1253~1258行

パスキーの桁数は自由ですが、半角数値で設定してください。

ただし桁数が多いとゲーム画面上の表示エリアに収まらなくなる恐れがあり、CSSの修正などが必要になるかと思います。

ソースコードでは「5 4 8 4」と設定していますが、「2 4 3 4 3」と変更する場合は次のようになります。

脱出するための手順

メインとなる脱出するための手順は、定数PASSCODE_EXITで設定します。

サンプルコード(c470321) 1260~1275行

このサンプルコードでは横3部屋×縦4部屋の12部屋があり、各々の部屋をX座標とY座標で管理しています。

Valueは部屋でアイテム「リモコン」を押した時に、リモコンに表示される値になります。

クリアした方はわかったと思いますが、この部屋の位置とリモコンの値で疑似的なスマホの仮想キーボードを表しています

f:id:CodeLelou:20200522010334p:plain

アイテム「スマホ」のキーボードがヒントになっていて、部屋の位置とリモコンの入力可能値から全体が大きなキーボードなっていて、各部屋がボタンの役割になっていることに気が付けば、後は脱出するための「KEY」を入力するだけということです。

そしてリモコンの値が1以上の時に別の部屋に移動すると、その部屋と数値に該当する文字が入力されたものとして記憶されます。

各部屋と紐づく入力可能文字はゲーム画面上のアイテム「スマホ」の仮想キーボードを見ればわかりやすいと思いますが、サンプルコード(c470321)では定数ROOMS(1571~1650行)で設定しています。

例えば、最初の部屋である「Room 1-1」(X座標1:Y座標1)に該当するボタンは「1」なので、リモコンの数値は1までになります。
「Room 3-3」(X座標3:Y座標3)に該当するボタンは「9WXYZ」なので、リモコンの数値は5までになります。

なお「Room 1-4」(X座標1:Y座標3)はクリアボタンとなっており、リモコンの値を「1」にした状態で部屋を移動すると、それまでに入力した脱出用のパスコードがリセットされます。
そして「Room 3-4」(X座標3:Y座標4)は確定ボタンの出口になる部屋になっており、東側に脱出用のドアが出てきます。

そのため定数PASSCODE_EXITの設定では「Room 1-4」と「Room 3-4」は指定しないでください

また、部屋に該当する文字がないValue値を設定しないように注意してください。
大半の部屋は1~4を設定できますが、「Room 1-1」「Room 2-4」は1のみ、「Room 1-3」「Room 3-3」は1~5が設定できます。

ちなみにサンプルコードでは「KEY」をパスコードとして設定しています。
これはアイテム「ノート」の最後に「Enter "KEY"」とヒント(答え)を書いています。
「K」(Room 2-2で「3」)・「E」(Room 3-1で「3」)・「Y」(Room 3-3で「4」)と入力し、Room 3-4でリモコンの値を「1」にすれば東側の壁のドアから脱出できゲームクリアとなります。

このサンプルコードをベースにして作られる他の脱出ゲームはこの部屋のギミックは基本的に被るので、プロローグやノートのシナリオや暗号、画像などでオリジナリティを出して個性を出してもらえればと思います。