【RPGツクール】ミニゲーム神経衰弱の作り方

ツクール

今回ご紹介するのは、神経衰弱の作り方です。

前回のスロット同様、ツクールのイベントコマンドのみを使用し、スクリプトやプラグインは一切使いません。 そのため、RPGツクールMVTrinityでも実装可能です。

※動画をご覧になる際は音量にご注意ください。

使用スイッチ、変数

スイッチ名前用途
1リード1リード1のカードをめくったことの記録用
2ゲイル1ゲイル1のカードをめくったことの記録用
9リード2リード2のカードをめくったことの記録用
10ゲイル2ゲイル2のカードをめくったことの記録用
17リード揃うリード1とリード2の両方のカードをめくり絵柄が揃ったことの記録用
18ゲイル揃うゲイル1とゲイル2の両方のカードをめくり絵柄が揃ったことの記録用
25神経衰弱開始キャンセルイベントの起動条件
26シャッフルカードシャッフルが終わったことを記録
変数名前用途
1めくった枚数めくったカードが1枚目か2枚目かの判断用
2揃った数絵柄が揃ったカード枚数の記録用
3乱数カードの配置をランダムに決定するために使用

今回の神経衰弱では、8種類の絵柄を用意し、計16枚のカードを用意することにします。

変数のリードやゲイルといったキャラクターの名前は、カードに描かれている絵柄を意味します。絵柄はお好きなものをご使用ください。

今回は、「リード」「ゲイル」「ケイシー」「ローザ」「聖剣」「杖」「宝箱」「岩」を絵柄として用います。

同じ絵柄のカードは2枚ずつ存在するので、名前はそれぞれ「リード1」「リード2」とします。

ひとつの絵柄につき3個のスイッチを使用します。今回は8種類の絵柄を使うため、カードに関するスイッチは計24個です。

カードイベント

まずは、リード1のカードイベントを作っていきます。

なお、以下では青色のタイルをカードの裏面、リードなどのキャラクターをカードの表面と表現します。

1ページ目

スイッチの操作:#0101 リード1 = ON
変数の操作:#0159 めくった枚数 += 1
条件分岐:めくった枚数 = 2
条件分岐:リード2がON
SEの演奏:Item1 (90, 100, 0)
スイッチの操作:#0117 リード揃う = ON
変数の操作:#0160 揃った数 += 1

それ以外のとき
SEの演奏:Buzzer2 (90, 100, 0)

分岐終了
ウェイト:60フレーム
スイッチの操作:#0101..0116 = OFF
変数の操作:#0159 めくった枚数 = 0

分岐終了

裏に置かれたカードの上で[決定ボタン]を押すと、スイッチ(ここでは101番)がONになり、イベントの2ページ目が開くように設定します。

[トリガー]が[並列処理]になっているイベントをのぞき、途中で新しいページの出現条件を満たしても、もとのページのイベント内容は最後まで実行されます。このイベントでは最初にスイッチ101がONになり、2ページ目の[出現条件]を満たしたことで画像は2ページ目のものに切り替わりますが、[変数の操作]以下の実行内容は最後まで処理されます。

神経衰弱では2枚のカードをめくり、1枚目にめくったカードと2枚目にめくったカードの絵柄が一致していると成功となります。

めくった枚数を記録するため、ここでは変数を用います。カードをめくるたびに、変数を1ずつ加算させましょう。

めくったカードが2枚目である(めくった枚数を記録した変数の値が2になった)とき、1枚目にめくったカードが同じ絵柄(今回はリード2)のものだったかどうかを確認します。

まず、リード2のカードがめくられた際にONになるスイッチをあらかじめ決めておきます(今回はスイッチ102番を使用)。そのスイッチを条件にした[条件分岐]により実行内容を分岐させます。

リード1のカードをめくった際、同じ絵柄であるリード2のカードが1枚目でめくられていたら成功、リード2以外のカードが1枚目でめくられていたら失敗です。

成功したときは、リードの絵柄が揃ったことを記録するスイッチをONにし、揃った絵柄の数を変数として記録しましょう。

最後に、めくったカードを裏面に戻すため、スイッチをOFFにし、めくった枚数の記録用の変数に0を代入します。

なお、1枚目にめくられたカードがどの絵柄のものかを判別するには非常に手間がかかるため、ここではカードをめくったことを記録するスイッチ16個をすべてOFFにします。

絵柄がそろっていたときは別のスイッチがONになっているため、記録用のスイッチをOFFにしても、揃ったカードが裏面に戻ることはありません。

2ページ目

[出現条件]には、イベント1ページ目の[実行内容]の最初でONにしたスイッチを選択します。

画像を、絵柄として用いるグラフィックに変更しましょう。そして、[プライオリティ]を[通常キャラの下]に設定します。これが[通常キャラと同じ]ままだと、プレイヤーがイベントに引っ掛かって移動できなくなってしまいます。

[実行内容]はなにも設定しません。

3ページ目

同じ絵柄が揃ったときに表示されるページです。

1ページ目で絵柄が揃ったときにONにしたスイッチを[出現条件]に設定しましょう。

そして2ページ目と同様、[プライオリティ]を[通常キャラの下]にします。

[実行内容]はありません。

以上で、リード1のカードイベント完成です。

1枚目ができたら、次は2枚目のイベント作成に移ります。

内容はほぼ同じなので、リード1のカードイベントをコピー&ペーストしましょう。そして、 一部のスイッチ番号だけを変更します。

以下の画像はリード2のカードイベントです。[スイッチの操作]や[条件分岐]において、リード1だったところはリード2、リード2だったところはリード1となります。間違えないようにしましょう。

今回は8種類の絵柄(計16枚のカード)を用意するので、同様の手順であと14個イベントを作成します。

イベント2ページ目3ページ目の画像およびスイッチ「リード1」「リード揃う」となっている部分は、各カードごとに変更してください。

ミニゲーム開始イベント

文章:なし, なし, ウィンドウ, 下
文章神経衰弱で遊びますか?
選択肢の表示:はい, いいえ (ウィンドウ, 右, #1, #2)
はいのとき
メニュー禁止の変更:禁止
画面のフェードアウト
スイッチの操作:#0125 神経衰弱開始 = ON
場所移動:神経衰弱イベント交換 (6,5) (フェード: なし)
移動ルートの設定:プレイヤー (ウェイト)
移動ルートの設定:◇画像:!Flame(7)
移動ルートの設定:◇上を向く
移動ルートの設定:◇歩行アニメOFF
移動ルートの設定:◇向き固定ON
画面のフェードイン

いいえのとき

分岐終了

プレイヤーが話しかけたとき、神経衰弱を開始するかどうかの選択肢を表示させます。

開始する場合は、[メニュー禁止の変更]を設定して神経衰弱中にメニューを開けないようにしましょう。

次に、[場所移動]によりプレイヤーを神経衰弱の開始位置に移動させます。

プレイヤーの画像をカーソル状のものに変更するときは、[移動ルートの設定]から設定します。このとき、プレイヤーの向きにご注意ください。

キャンセルイベント

条件分岐:ボタン[キャンセル]が押されている
文章:なし, なし, ウィンドウ, 下
文章神経衰弱をやめますか?
選択肢の表示:はい, いいえ (ウィンドウ, 右, #1, #2)
はいのとき
画面のフェードアウト
移動ルートの設定:プレイヤー (ウェイト)
移動ルートの設定:◇歩行アニメON
移動ルートの設定:◇向き固定OFF
移動ルートの設定:◇画像:Actor1(0)
メニュー禁止の変更:許可
場所移動:神経衰弱イベント交換 (12,9) (向き: 下, フェード: なし)
スイッチの操作:#0101..0126 = OFF
変数の操作:#0181..0182 = 0
画面のフェードイン

いいえのとき

分岐終了

分岐終了

神経衰弱ゲームを途中でプレイをやめるときの処理を作成します。

ゲームが開始されたことを記録したスイッチを[出現条件]に設定、[トリガー]を[並列処理]にして、神経衰弱中にいつでも実行できるようにしておきます。

ボタン[キャンセル]が押されている場合、ゲームをやめるかの選択肢を表示させます。

プレイヤーの向き固定や画像を元に戻しましょう。メニュー禁止を解くことも忘れずに。

最後に、神経衰弱ゲームで使用したすべてのスイッチと変数を初期化させればOKです。

成功イベント

MEの演奏:Victory1 (90, 100, 0)
ウェイト:180フレーム
文章:なし, なし, ウィンドウ, 下
文章おめでとうございます!
文章すべて揃えることに成功しました!
画面のフェードアウト
移動ルートの設定:プレイヤー (ウェイト)
移動ルートの設定:◇歩行アニメON
移動ルートの設定:◇向き固定OFF
移動ルートの設定:◇画像:Actor1(0)
メニュー禁止の変更:許可
場所移動:神経衰弱イベント交換 (12,9) (向き: 上, フェード: なし)
スイッチの操作:#0101..0126 = OFF
変数の操作:#0159..0160 = 0
画面のフェードイン

すべての絵柄が揃えられたときに実行されるイベントです。

[トリガー]は[自動実行]、[出現条件]は、揃った絵柄の枚数を記録した変数を設定します。今回は絵柄を8種類用意したので、条件となる変数の値は8以上となります。

キャンセル時と同様、 プレイヤーの向き固定や画像を元に戻しましょう。メニュー禁止を解くことも忘れずに行ってください。

最後に、神経衰弱ゲームに使用したすべてのスイッチをOFFにし、すべての変数に0を代入して初期化させます。

ここまでで、神経衰弱ゲームの一連のイベントを作り終えました。

シャッフルイベント

神経衰弱はできるようになりましたが、ひとつ重大な欠陥があります。それは、カードの初期配置が何回やっても同じままという点です。

これでは面白みがありませんよね。

ということで、カードの配置をシャッフルするイベントを最後に作っていきたいと思います。

なお、スクリプトを用いたやり方を別記事で紹介していますので、こちらも参考にしてみてください。

1ページ目

※分量が多いため一部省略して掲載しています。

変数の操作:#0161 乱数 = 乱数 1..14
条件分岐:乱数 = 1
イベントの位置設定:リード1, ゲイル1と交換

分岐終了
条件分岐:乱数 = 2
イベントの位置設定:リード1, ゲイル2と交換

分岐終了
条件分岐:乱数 = 3
イベントの位置設定:リード1, ケイシー1と交換

分岐終了
条件分岐:乱数 = 4
イベントの位置設定:リード1, ケイシー2と交換

分岐終了
条件分岐:乱数 = 5
イベントの位置設定:リード1, ローザ1と交換

分岐終了
条件分岐:乱数 = 6
イベントの位置設定:リード1, ローザ2と交換

分岐終了
条件分岐:乱数 = 7
イベントの位置設定:リード1, 聖剣1と交換

分岐終了
条件分岐:乱数 = 8
イベントの位置設定:リード1, 聖剣2と交換

分岐終了
条件分岐:乱数 = 9
イベントの位置設定:リード1, 杖1と交換

分岐終了
条件分岐:乱数 = 10
イベントの位置設定:リード1, 杖2と交換

分岐終了
条件分岐:乱数 = 11
イベントの位置設定:リード1, 宝箱1と交換

分岐終了
条件分岐:乱数 = 12
イベントの位置設定:リード1, 宝箱2と交換

分岐終了
条件分岐:乱数 = 13
イベントの位置設定:リード1, 岩1と交換

分岐終了
条件分岐:乱数 = 14
イベントの位置設定:リード1, 岩2と交換

分岐終了
 ︙
(中略)
 ︙
スイッチの操作:#0126 シャッフル = ON

ツクールの標準機能では、イベントをランダムにかつ重ならないように配置するイベントコマンドがありません。そこで、力業で押し切ることにします。

[イベントの位置設定]では、2つのイベントの位置を交換することができます。この機能を利用して、カードの配置をランダムにしましょう。

[出現条件]を[自動実行]に設定し、神経衰弱の開始スイッチがONになるとともにこのイベントが実行されるようにします。

まずは「リード1」のカード分から設定していきます。

乱数発生用の新しい変数をひとつ用意し、出た値によって、交換相手のイベントを変えていきます。

同じ絵柄同士は交換しても意味がないので、リード以外の絵柄、すなわち14枚のカードのうち1枚と交換されるように設定します。

リード1の設定が終了したら、[変数の操作]から[条件分岐:乱数=14]までのイベント内容をコピーし、すぐ下にペーストします。そして、今度は「リード1」となっている部分をすべて「リード2」に変更します。

以上の流れを、あと14回(カードの枚数分)繰り返していきます。

実行内容自体は簡単なものの、16×14個の設定が必要となってくるため、かなりの量となります。くれぐれも、交換元イベントと交換相手先イベントの設定ミスが起こらないように注意してください。

最後に、スイッチをONにし、自動実行イベントが実施されたことを記録しておきます。

2ページ目

[出現条件]に、1ページ目の最後でONにしたスイッチを設定します。そのほかに設定する項目はありません。

最後に

今回は神経衰弱に必要な最低限のイベントの作り方をご紹介しました。

おてつきできる回数を制限したり、制限時間を設けたりしたい場合は、適宜改良を加えてみてください。

おてつきできる回数を決めたい場合は、おてつきカウント用の変数を用意し、2枚カードをめくって揃わなかったときに1ずつ加算させるようにしましょう。

あとは、おてつきカウント用変数が一定の値以上になった場合に、自動実行されるイベントを作成すればOKです。

それでは、よいツクールライフを!


コメント

タイトルとURLをコピーしました