ポケモン釣りゲーム
iPadと連動して遊べる玩具!条件を達成すると、称号が獲得できてメールに届く!
中学校の授業でmeshを使って作品を作ることとなり、制作しました。何を作ろうかと考えた際に、現実の物とiPadが連動して遊べるゲームを作ったら、おうち時間も楽しく過ごせるのではないかと思い、このゲームを作ることに。ポケモンと釣りが好きだった為、この二つを合わせた、ポケモン釣りゲームを作りました。
ハサミ、セロハンテープ、ガムテープ、ストロー、チャック付きビニール袋、紙テープ、モーター
割り箸を数本繋げてガムテープで巻き、長い棒を作ります。その後、正面にLED meshブロック、後ろに動きmeshブロック、左横にGPIOmeshブロックを貼り付け、その下に、先を左横に向けたモーターを取り付けます。
モーターの先にリールの形をしたストローを作って取り付けます。
モーターの銅線をGPIOmeshブロックに接続して完成です。
ここから先は、本ゲームの仕様や遊び方、キャンバスの詳しい説明を記載させて戴きます。遊び方の説明です。まず、釣竿を一回振ります。そうすると、湖に釣り糸を垂らす事ができます。釣りの状況は、mesh内のキャンバスに表示される通知で確認できます。その後、しばらく待つと、ポケモンが釣り針に引っかかります。(引っかかるまでの時間は、毎回ランダムで変化します。)ポケモンが引っかかると、LEDが点滅し出します。LEDが点滅し終わったら、釣り上げられるタイミングです。もう一度釣竿を振ると、リールが自動的に回転し、ポケモンが釣れます。
ポケモンは、6種類の中からランダムで釣れます。(コイキング、ギャラドス、トサキント、ホエルコ、キバニア、メノクラゲ)ですが、それだけではつまらないですよね…?なので、色違いや、進化系ポケモンも、ある条件を満たすと釣り上げる事ができるようにしました。その条件というのが、二回連続で同じポケモンを釣り上げる事です。一回目にコイキングが釣れて、二回目もコイキングが釣れた時、そのコイキングは、色違いとして釣れます。(進化系も同様)コイキングとギャラドスが色違い、他のトサキント以外のポケモンが進化系として釣り上げられます。※トサキントにも進化先がありますが、本ゲームでは未実装です。
更に、伝説のポケモンも釣る事ができます。伝説のポケモンは、色違いや進化系ポケモンと同様、特殊な条件を満たすと釣り上げる事ができます。その条件というのが、開始から合計三回色違い、もしくは進化系ポケモンを釣り上げる事です。条件を満たした時、湖からオーラが発せられ、伝説のポケモンが、トサキントと入れ替わる形で出現します。その後、伝説のポケモンを釣り上げるとオーラが消失し、また元の状態に戻ります。続いて、称号機能について説明します。本ゲームには、他ゲームに良くある、称号機能を搭載しています。条件を満たすと、メールアドレスに、称号の通知が届きます。
尚、この称号を送る上で必要となるゲームプレイの記録は、プログラム画面を開いてから閉じるまで行い、閉じられた時にリセットします。伝説のポケモンは、全部で4種類です。(ルギア、カイオーガ、タケシ、ゲンシカイオーガ)ゲンシカイオーガは、二回連続でカイオーガを釣り上げると釣る事ができます。※伝説のポケモン以外のポケモンで連続カウントがリセットされる事はありません。ここから先は、キャンバスの詳しい説明になります。見ての通り、このゲームの操作は、動きブロックの感知で行っています。ここで一つ目のこだわりポイントです。それは、同じ動作で別のプログラムを実行している事です。
これは、順番に切り替えるスイッチブロックを使用して、信号が送られる度に、釣り糸を垂らすコードと釣り上げるコードを交互に切り替えています。ですが、このままでは、プログラムを実行している途中にもう一度釣竿を振られると、二つのプログラムを同時に実行してしまうバグが発生してしまいます。なので、動きブロックの信号を制御する、選んで切り替えスイッチブロックを使用しています。プログラムを実行していない際は「1」で、プログラムを実行している時は「2」に信号が発信されるようにしてあります。「1」の場合はプログラムを実行。「2」の場合はプログラムに接続されていない為、何も起こらないというような仕組みです。
(プログラムの実行時に「2」に切り替え、プログラムの実行終了時に「1」に戻すといった形)次に、釣り針に引っかかるまでの待ち時間の確率配分です。普通が50%、長めが25%、短めが25%です。これは、ランダム切り替えスイッチブロックを二つ用意し、片方の長さが1、もう片方が2と言うのを連続してつなげる事で、2〜4の長さで、3の割合が高い確率配分としています。次に、色違いや進化系ポケモンの連続カウントの仕組みです。これは至ってシンプルで、各ポケモンが釣れた際に、それぞれのカウンターのカウントを増やし、それ以外のポケモンが釣れた時にカウントをリセットする。といった仕組みです。二回連続だった際は、
色違い、進化系ポケモンのプログラムに切り替えて、カウントをリセットしています。次に称号機能のシステムについてです。これは、キャンバスを閉じて開いた際に、カウンターの数値がリセットされる仕組みを利用しています。称号は、各取得条件を満たした際に、送られるもので、これは全てカウンターで管理しています。この条件を満たした時、選んで切り替えスイッチブロックに信号が行き、数値が「1」だった時のみプログラムを実行します。選んで切り替えスイッチブロックの初期数値は「1」の為、初めて条件を満たした際は、メールに称号を送るプログラムが実行されます。そして、実行した際に数値を「2」に切り替えていると言うわけです。
見てわかる通り、このキャンバスを説明するとなると150文字では足りない為、レシピの説明の欄に追加で記載させて戴きます。
夏季プログラミング講習で作成した作品を出品します。