2018 ソフトウェア設計及び演習用の班Wiki

18::gr01::モジュール分け::パズルモジュール

new_riddle_event.js

このモジュールでは謎解きイベント(パズル)の実行をします。

Class : riddle_event.Class_LightsOut

このクラスの使用にはenchant.jsが必要です。 このクラスを呼び出すことによりライツアウトというパズルを実行することができるようになります。 デフォルトではzキーで決定(決定したライトの上下左右のライトの点灯と消灯が反転する)、xキーでライツアウトを終了、上下左右のキーで選択するライトの移動となっています。

Method

LightsOut_start()

main側でこのメソッドを呼び出すと、ライツアウトを開始することができます。 問題パターンは呼び出すたびにランダムに生成されるようになっています。

LightsOut_end()

クラス内部の処理用メソッドです。 このメソッドを呼び出すとライツアウトを終了します。呼び出して終了することもできますが、デフォルトではライツアウトを表示中にxキーを押す、またはパズルを解くことでライツアウトを終了することもできます。

LightsOut_judge()

クラス内部の処理用メソッドです。 ライツアウトのクリア判定を行います。プレイヤーがzキーを押すたびにクリア判定を行います。クリア(ライトが全て点灯)していると自動的にライツアウトを終了します。

LightsOut_select(selected_panel)

クラス内部の処理用メソッドです。 プレイヤーが選択したライトの番号を引数として受け取り、その上下左右のライトの点灯と消灯を反転させるべきかどうかを判定します。

LightsOut_reverse(selected_panel)

クラス内部の処理用メソッドです。 引数として受け取った番号のライトの点灯と消灯を反転させます。

Class : riddle_event.Class_IcePuzzle

このクラスではアイスパズルの実行を行います。実行するためにはflag.Class_flagが必要です。デフォルトでは矢印キーで移動、xキーでやめるとなっています。なお、斜め移動はできません。

Method

ice_panel_reverse(Lv)

内部処理用のメソッドです。このメソッドは現在のアイスパズルのLvを引数として受け取り、それに応じてアイスパズルの点灯と消灯を反転させます。

ice_puzzle_judge(Lv)

内部処理用のメソッドです。このメソッドは現在のアイスパズルのLvを引数として受け取り、それに応じたアイスパズルの判定を行います。もしも、点灯しているパネルに移動してしまった場合は失敗とみなされ、パズルが強制終了されます。

ice_puzzle_lv1_start()

アイスパズルLv1をスタートするメソッドです。アイスパズルLv1をスタートします。スタートする前に初期化を行って、すべてのパネルを消灯状態にしています。

ice_puzzle_lv2_start()

内部処理用のメソッドです。アイスパズルLv2をスタートします。スタートする前に初期化を行って、すべてのパネルを消灯状態にしています。

ice_puzzle_lv3_start()

内部処理用のメソッドです。アイスパズルLv3をスタートします。スタートする前に初期化を行って、すべてのパネルを消灯状態にしています。

Class : riddle_event.Class_GraphPuzzle

このクラスではグラフパズルの実行を行います。デフォルトでは矢印キーで移動、zキーで決定、xキーでやめる、です。

Method

GraphPuzzle_change(current_panel)

内部処理用のメソッドです。現在選択している入れ替えボタンの位置を引数として与えると、その左右の色を入れ替えます。

GraphPuzzle_start()

グラフパズルをスタートするためのメソッドです。このメソッドを呼び出すとグラフパズルがスタートします。色の並びの初期状態はランダムに決定されます。

GraphPuzzle_end()

内部処理用のメソッドです。グラフパズルを終了します。

GraphPuzzle_check()

内部処理用のメソッドです。グラフパズルのクリア判定を行います。クリアしていると返り値として"clear"と返ってきます。

Class : riddle_event.Class_ClockPuzzle

このクラスではクロックパズルの実行を行います。また、実行にはflag.Class_flagが必要です。この時計の針は右回りに3または4ずつしか進めません。指定されたパスワードの番号のみをすべて点灯させるとクリアとなります。

Method

clock_puzzle_start()

クロックパズルをスタートするためのメソッドです。このメソッドを呼び出すとクロックパズルがスタートします。

clock_panel_reverse(panel_No)

内部処理用のメソッドです。現在針が指しているパネルの番号を引数として与えてあげると針が指したパネルの色が反転します。さらに、3または4を選択したあと一定時間の間(針が次の場所に移動するまでの間)は次の入力を受け付けない仕様になっています。

clock_puzzle_check()

内部処理用のメソッドです。このメソッドではクリア判定を行っており、クリアするとアイテムの取得とともにパズルが終了します。

Class : riddle_event.Class_PasswordGeneration

このクラスではクロックパズルや3階のシャッターを開けるためのパスワードの生成を行います。生成されたパスワードはデータとして保存されます。

Method

ClockPuzzle_password()

このメソッドではクロックパズルのパスワードを生成します。パスワードは4つの数字の組み合わせ10組の中から1組がランダムで選ばれ、選ばれた4つの数字を並べ替えたものが生成されます。

floor3_password_generation()

このメソッドでは3階のシャッターを開けるためのパスワードを生成します。ヒントは固定ですが、入力する順番はランダムに決定されます。パスワードのパターンは1〜5までの数字をランダムに入れ替えたものになります。

Class : riddle_event.Class_PasswordPuzzle

このクラスでは3階のシャッターを開けるための入力パネル表示を実行します。デフォルトでは矢印キーで移動、zキーで決定となります。5つのキーパッド全てで正しい数字を点灯させるとクリアとなります。

Method

Password_Puzzle_start()

このメソッドは3階のシャッターを開けるための入力パネルを表示するためのメソッドです。このメソッドを呼び出すと3階のシャッターを開けるための入力パネルが表示されます。

PasswordPuzzle_judge()

内部処理用のメソッドです。このメソッドでは入力された数字に対し、正解かどうかを判定します。

PasswordPuzzle_end()

内部処理用のメソッドです。このメソッドが呼び出されると入力パネルを非表示しにします。また同時に、選択フレームなどの位置を初期化しています。

Class : riddle_event.Class_FinalPanel

このクラスでは脱出部屋でのヒントの表示と、脱出口を開けるためのパスワードの入力受付を行います。

Method

final_panel_start()

このメソッドは最後のパスワード入力受付とパスワードを解くためのヒントを表示するためのメソッドです。このメソッドが呼び出されるとパスワードを解くためのヒントが先に表示され、xキーを押すと次に最後のパスワード入力画面が表示されます。

write_password()

内部処理用のメソッドです。このメソッドが呼び出されると最後のパスワード入力画面において、下のテキストボックスに画面上のパネルで入力した数字が反映されます。

final_judge()

内部処理用のメソッドです。このメソッドが呼び出されると最後のパスワード入力画面において入力されたパスワードが正しいものかどうかを判定します。

final_panel_end(result)

内部処理用のメソッドです。このメソッドが呼び出されると、テキストボックスに表示されていた数字を初期化したり、パネルの選択フレームの位置を元に戻したりなど初期化をしつつ、シーンを終了します。

Class : riddle_event.Class_FinalQuestion

このクラスでは最終問題の答えを入力するためのテキストボックスを表示します。テキストボックスの中に検索窓と同様にバーを入れると文字を打つことができ、エンターキーを押すと入力した答えが正しいかどうか判定されます。最大10文字です。

Method

final_question_start()

このメソッドは最終問題の解答を入力するためのテキストボックスを表示するためのメソッドです。このメソッドが呼び出されると、説明とともにキーボードによる入力が可能なテキストボックスが表示されます。

final_question_judge()

内部処理用のメソッドです。このメソッドが呼び出されるとテキストボックスに入力された解答が正しいかどうかを判定します。正しい答えとなる言葉が入力された解答の中に含まれていればクリアと判定されます。

Class : riddle_event.Class_final_text

このクラスでは脱出口から出る際にスタッフ証の確認をするイベントを発生させます。

final_text_start()

このメソッドは脱出口から出る際のスタッフ証確認のイベントを発生させるためのメソッドです。このメソッドが呼び出されるとスタッフ証を確認するイベントが発生し、「はい」を選ぶとスタッフ証を認証させることができます。


最終更新日:2018/08/10 14:59:33