【CyberPi】ナゾ解きゲームを作ってみた!

このページにはアフィリエイトリンクが含まれています。

CyberPi(サイバーパイ)を使つかって、ナゾ解ときゲームを作つくってみました!

このナゾ解ときは、紙かみに書かかれた ナゾを解とくだけでは 終おわりません。

CyberPiのセンサーやボタンを使つかって、いろいろな操作そうさをしながら ナゾを解といていきます。

今回こんかいは、このナゾ解ときゲームで作つくったプログラムを紹介しょうかいします。

 

必要なもの

CyberPiで謎解きゲームを作るのに必要な物

この作品さくひんを作つくるために 必要ひつようなものは、以下いかの通とおりです。

  • CyberPi(サイバーパイ)
  • パソコンやタブレット
  • mBlock(無料むりょうのプログラミングアプリ)
  • ナゾ解ときカード用ようの紙かみ
  • ナゾ解ときの小道具こどうぐ(ダイヤル式しき南京錠なんきんじょうなど)

ナゾ解ときカードは、問題もんだいを作つくって自分じぶんで書かいたり、印刷いんさつしたりして 用意よういします。

小道具こどうぐとして、番ばん号ごうで開あけられる ダイヤル式しき南京錠なんきんじょうを 用意よういしました。

宝箱たからばこなどにつけると、ナゾ解ときゲームらしい感かんじが出でますね。

ナゾ解きの流れ

CyberPi謎解きゲームの流れ

今回こんかいのナゾ解ときは、次つぎの流ながれで進すすみます。

  1. ナゾ解ときカードの ナゾを解とく
  2. ナゾの答こたえに書かかれた 指示しじに従したがって CyberPiを操作そうさする
  3. 正ただしく操作そうさできると、次つぎの場所ばしょが分わかる
  4. 次つぎの場所ばしょで ナゾ解ときカードを探さがす

1~4のサイクルを繰くり返かえしながら、最後さいごのナゾを目指めざします。

 

1.はじまりのナゾ

まずは「はじまりのナゾ」から スタートします。

【CyberPiナゾ解き】はじまりのナゾ

ナゾを解とくと、CyberPiで何なにをすればいいのか 分わかるようになっています。

 

CyberPiが起動したとき

CyberPiを起動きどうすると、「はじまりの ナゾを とこう!」をいうメッセージが表示ひょうじされます。

CyberPiに"はじまりの ナゾを とこう!"と表示されている

 

プログラムでは、ゲームを始はじめるために 最初さいしょにいくつかの設定せっていをしています。

CyberPiが起動したとき①

  1. 画面がめんを消けす
  2. 音量おんりょうを20にする
  3. STAGEを1にする
  4. 入力にゅうりょく番ばん号ごうを0にする
  5. スタート音おんを鳴ならす
  6. 「はじまりの ナゾを とこう!」と表示ひょうじする
  7. LEDを光ひからせる

スタート音おんを鳴ならしたり、LEDを光ひからせたりすると、ゲームが始はじまる感かんじが出でますね。

 

ここで設定せっていしている「STAGE」は、今いまどのナゾを解といているのかを表あらわす変数へんすうです。

  • STAGE = 1 → はじまりのナゾ
  • STAGE = 2 → キッチンのナゾ
  • STAGE = 3 → ベッドルームのナゾ
  • STAGE = 4 → ナゾのコマンド

最初さいしょは、

STAGE = 1

にして、はじまりのナゾからスタートします。

その後あとは、「ずっと」の中なかで STAGEの数字すうじを確認かくにんします。

CyberPiが起動したとき②

  • もし STAGE = 1 なら
    STAGE1を実行じっこう
  • もし STAGE = 2 なら
    STAGE2を実行じっこう
  • もし STAGE = 3 なら
    STAGE3を実行じっこう
  • もし STAGE = 4 なら
    STAGE4を実行じっこう

たとえば、STAGE1の条件じょうけんをクリアすると、STAGEを2に変更へんこうします。

すると、次つぎのループから STAGE2の処理しょりが実行じっこうされます。

このように、STAGEの数字すうじを変かえることで、ナゾを順番じゅんばんに進すすめています。

 

ブロック定義「STAGE1」

ナゾごとにブロックを作つくって、プログラムを見みやすくしてみました。

ここでは、条件じょうけんを判定はんていして、正解せいかいしたら 次つぎの場所ばしょを表示ひょうじする 処理しょりを作つくります。

ブロック定義「STAGE1」

STAGE1では、CyberPiのマイクを使つかって 音おとを検知けんちします。

  1. 音量おんりょうが95より大おおきくなるまで待まつ
  2. 正解せいかいの処理しょり
  3. 「キッチンへ いけ」と表示ひょうじする
  4. STAGEを2にする

プログラムでは、音量おんりょうが95を超こえるまで 待まつようになっています。

95という値あたいは、実際じっさいに試ためしながら 調整ちょうせいしてみてください。

条件じょうけんを満みたすと、正解せいかいの演出えんしゅつを行おこない、

CyberPiに"正解!"と表示されている

次つぎのナゾの場所ばしょを示しめす「キッチンへ いけ」を表示ひょうじします。

CyberPiに"キッチンへいけ"と表示されている

そして、STAGEを2に変更へんこうします。

 

ブロック定義「正解」

正解せいかいしたときには、毎回まいかい同おなじ演出えんしゅつを行おこないます。

そこで、この処理しょりを「正解せいかい」というブロックに まとめました。

ブロック定義「STAGE1」「正解」

  1. 画面がめんを消けす
  2. 正解せいかい音おんを鳴ならす
  3. 「正解せいかい!」と表示ひょうじする
  4. LEDを光ひからせる
  5. 3秒びょう待まつ
  6. LEDを消けす

同おなじ処理しょりを何度なんども書かく代かわりに、自分じぶんで作つくった「正解せいかい」ブロックを 呼よび出だすようにしています。

こうしておくと、正解せいかい時じの演出えんしゅつを変更へんこうしたくなったときも、「正解せいかい」ブロックを直なおすだけで済すみます。

音おとやLEDの演出えんしゅつは、お好このみで変かえてみてください。

 

2.キッチンのナゾ

キッチンへ行いくと、次つぎのナゾ解ときカードがあります。

【CyberPiナゾ解き】キッチンのナゾ

CyberPiを どこかに入いれるようですが……。

 

ブロック定義「STAGE2」

ブロック定義「STAGE2」

STAGE2では、CyberPiの明あかるさセンサーを使つかいます。

  1. 明あかるさが 5未満みまん?
  2. YESなら 3秒びょう待まつ
  3. もう一度いちど、明あかるさが 5未満みまんか確認かくにんする
  4. YESなら正解せいかいの処理しょり
  5. 「しんしつへ いけ」と表示ひょうじする
  6. STAGEを3にする

今回こんかいの条件じょうけんは、明あかるさが5未満みまんになることです。

ただし、暗くらくなってもすぐ正解せいかいにはしません。

暗くらくなったら 3秒びょう待まって、もう一度いちど明あかるさを確認かくにんします。

3秒びょう後ごも明あかるさが5未満みまんなら、正解せいかいです。

正解せいかいすると「しんしつへ いけ」と表示ひょうじされるので、次つぎはベッドルームへ向むかいます。

暗くらい部屋へやでは、何なにもしなくても 正解せいかいになってしまうかもしれません。
明あかるさの値あたいは、実際じっさいに試ためしながら 調整ちょうせいしてみてください。

 

3.ベッドルームのナゾ

ベッドルームには、次つぎのナゾ解ときカードがあります。

【CyberPiナゾ解き】ベッドルームのナゾ

まくらに……?

 

ブロック定義「STAGE3」

ブロック定義「STAGE3」

STAGE3では、CyberPiの落下らっか検知けんちを使つかいます。

  1. CyberPiが落下らっかするまで待まつ
  2. 正解せいかいの処理しょり
  3. 「パソコンを たちあげよ」と表示ひょうじする
  4. STAGEを4にする

CyberPiが落下らっかしたことを検知けんちすると、正解せいかいの演出えんしゅつを行おこないます。

正解せいかいすると「パソコンを たちあげよ」と表示ひょうじされます。

CyberPiを 床ゆかなど固かたいところに落おとすと 故障こしょうする可能性かのうせいがあります。
プログラムを試ためすときは、落おとしても こわれないように 安全あんぜんな方法ほうほうで確認かくにんしてください。

 

4.ナゾのコマンド

いよいよ最後さいごのナゾです。

【CyberPiナゾ解き】ナゾのコマンド

とあるコマンドを調しらべて CyberPiで入力にゅうりょくすると……

 

CyberPiが起動したとき

CyberPiが起動したとき③

ここでは、CyberPiのジョイスティックと A・Bボタンを使つかって、コマンドが正ただしい順番じゅんばんで 入力にゅうりょくされたかを判定はんていします。

正解せいかいのコマンドは、「上上うえうえ下下したした左右ひだりみぎ左右ひだりみぎBA」です。

 

CyberPiを起動きどうしたときの「STAGEを1にする」の下したに、「STAGE4-InputNoを0にする」を追加ついかします。

入力にゅうりょく番ばん号ごう(STAGE4-InputNo)は、今いま何個なんこ目めまで 正ただしく入力にゅうりょくできているか 管理かんりする変数へんすうです。

最初さいしょは「0」で、正ただしい方向ほうこうや ボタンを入力にゅうりょくするたびに 1増ふやします。

 

ジョイスティックが↑に向けるとき

まず、ジョイスティックで「↑」が 入力にゅうりょくされたときの処理しょりを考かんがえます。

ジョイスティックが↑に向けるとき

  1. STAGEが4?
  2. YESなら、入力にゅうりょく番ばん号ごうが 0 または 1?
  3. YESなら「STAGE4コマンド成功せいこう」
    NOなら 「STAGE4コマンド失敗しっぱい」

最初さいしょにSTAGEが4かどうかを判定はんていして、ナゾのコマンドを解といているときだけ、この処理しょりが動うごくようにします。

「↑」は 1番目ばんめと 2番目ばんめに 入力にゅうりょくするコマンドです。

そのため、入力にゅうりょく番ばん号ごうが 0 または 1 の場合ばあいは成功せいこう、それ以外いがいの場合ばあいは失敗しっぱいとなります。

 

他ほかの入力にゅうりょくについても、同おなじようにプログラムを作つくります。

上以外の入力の処理

それぞれの入力にゅうりょくに対たいして、正ただしい入力にゅうりょく番ばん号ごうか 判定はんていします。

入力にゅうりょくと 入力にゅうりょく番ばん号ごうの対応たいおうは、下したのとおりです。

STAGE4-InputNo 0 1 2 3 4 5 6 7 8 9
コマンド ↑ ↑ ↓ ↓ ← → ← → B A

 

ブロック定義「STAGE4コマンド成功」

コマンド入力にゅうりょくが 成功せいこうしたときの処理しょりは、どの方向ほうこうやボタンが 正解せいかいだった場合ばあいでも 共通きょうつうです。

そこで、「STAGE4コマンド成功せいこう」というブロックにまとめました。

ブロック定義「STAGE4コマンド成功」「STAGE4コマンド失敗」

  1. 「・」を表示ひょうじする
  2. 入力にゅうりょく番ばん号ごう(STAGE4-InputNo)を 1増ふやす

正ただしく入力にゅうりょくされたことを、画面がめんで分わかるようにするために「・」を表示ひょうじします。

1つ目めの入力にゅうりょくに成功せいこうすると「・」、2つ目めに成功せいこうすると「・・」というように増ふえていきます。

CyberPiに"・"と表示されている

そして入力にゅうりょく番ばん号ごうを 1増ふやして、次つぎのコマンドへ進すすみます。

 

ブロック定義「STAGE4コマンド失敗」

コマンド入力にゅうりょくが まちがっていた場合ばあいの処理しょりも 作つくります。

ブロック定義「STAGE4コマンド成功」「STAGE4コマンド失敗」

  1. 画面がめんを消けす
  2. 不正解ふせいかいの音おとを鳴ならす
  3. LEDを光ひからせる
  4. 「コマンドを入力にゅうりょく」と表示ひょうじする
  5. 入力にゅうりょく番ばん号ごう(STAGE4-InputNo)を 0にリセットする

失敗しっぱいしたときは演出えんしゅつを行いったあと、入力にゅうりょく番ばん号ごうを 0にもどします。

つまり、最初さいしょの「↑」からもう一度いちど入力にゅうりょくし直なおしです。

CyberPiに"コマンド入力やりなおし"と表示されている

 

ブロック定義「STAGE4」

最後さいごに、コマンドが すべて正ただしく入力にゅうりょくできたかを 判定はんていします。

ブロック定義「STAGE4」

  1. 入力にゅうりょく番ばん号ごうが 9より大おおきい?
  2. YESなら正解せいかいの処理しょり
  3. レベルアップ音おんを鳴ならす
  4. 「カギの ばんごうは『2525』」と表示ひょうじする
  5. LEDを虹色にじいろに光ひからせる

10個この入力にゅうりょくを すべて正ただしく入力にゅうりょくすると、入力にゅうりょく番ばん号ごうは「10」になっています。

そこで、入力にゅうりょく番ばん号ごうが 9より大おおきくなったら、コマンド入力にゅうりょく成功せいこうと判定はんていします。

正解せいかいの演出えんしゅつを行おこなったあと、最後さいごの答こたえである カギの番ばん号ごうを表示ひょうじします。

ダイヤル式しき南京錠なんきんじょうに 番ばん号ごうを入力にゅうりょくして、カギを開あければ ゲームクリアです!

 

まとめ

今回こんかいは、CyberPiを使つかった ナゾ解ときゲームを 作つくってみました。

この作品さくひんでは、

  • 音おとを検知けんちする
  • 明あかるさを検知けんちする
  • 落下らっかを検知けんちする
  • ジョイスティックを操作そうさする
  • A・Bボタンを押おす
  • LEDや音おとで正解せいかい・不正解ふせいかいを知しらせる

など、CyberPiのいろいろな機能きのうを使つかっています。

また、プログラムでは「STAGE」という変数へんすうを使つかって、ナゾを順番じゅんばんに進すすめました。

単たんにセンサーを動うごかすだけでなく、

「ナゾを解とく → CyberPiを操作そうさする → 次つぎの場所ばしょへ行いく」

という仕組しくみにすることで、デジタルとリアルを組くみ合あわせた おもしろいナゾ解ときゲームになったと思おもいます。

センサーを使つかう条件じょうけんやナゾの内容ないようを変かえて、自分じぶんだけのナゾ解ときゲームを ぜひ作つくってみてくださいね。

 

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