2.22 GAME - ドラゴン討伐

このゲームでは、ジョイスティックを使ってドラゴンを討伐します。

緑色をクリックすると、ドラゴンは右側で上下に浮かび、時々火を吹きます。魔法の杖の動きをジョイスティックで制御し、ドラゴンに向かって星の攻撃を打ち出しつつ、ドラゴンが放つ炎を避けて、最終的に倒す必要があります。

../_images/19_dragon.png

必要な部品

このプロジェクトには以下の部品が必要です。

全セットを購入することは非常に便利です。リンクは以下の通りです:

名前

このキットのアイテム

リンク

3 in 1 Starter Kit

380+

3 in 1 Starter Kit

以下のリンクから個別に購入することもできます。

コンポーネントの紹介

購入リンク

SunFounder R3ボード

BUY

ジャンパーワイヤー

BUY

ジョイスティックモジュール

-

回路の作成

ジョイスティックは、ベース上で旋回するスティックを持つ入力デバイスで、制御するデバイスにその角度や方向を報告します。ジョイスティックは、ビデオゲームやロボットの制御によく使用されます。

コンピュータに完全な動きを伝えるために、ジョイスティックはスティックの位置を2つの軸で測定する必要があります – X軸(左から右)とY軸(上から下)です。

ジョイスティックの動きの座標は以下の図に示されています。

注釈

  • x座標は左から右へ、範囲は0-1023。

  • y座標は上から下へ、範囲は0-1023。

../_images/16_joystick.png

以下の図に従って回路を組み立ててください。

../_images/joystick_circuit.png

プログラミング

1. ドラゴン

Woods の背景は Choose a Backdrop ボタンから追加します。

../_images/19_dragon01.png
  • デフォルトのスプライトを削除し、 Dragon スプライトを追加します。

../_images/19_dragon0.png
  • Costumes ページに移動し、dragon-b と dragon-c を水平に反転します。

../_images/19_dragon1.png
  • サイズを50%に設定します。

../_images/19_dragon3.png
  • 変数 - dragon を作成して、ドラゴンのライフポイントを記録し、初期値を50に設定します。

../_images/19_dragon2.png
  • 次に、スプライトのコスチュームを dragon-b に切り替え、 Dragon スプライトを一定の範囲で上下に動かします。

../_images/19_dragon4.png
  • Dragon スプライトが吹き出す火として、 Lightning スプライトを追加します。Costumesページで90°時計回りに回転させ、 Lightning スプライトが正しい方向に動くようにします。

注釈

Lightning スプライトのコスチュームを調整する際、中心から外れてしまうことがありますが、それは避ける必要があります! 中心点はスプライトの真ん中に合わせてください!

../_images/19_lightning1.png
  • まず、 Dragon スプライトの dragon-c コスチュームを調整し、その中心点が火の尾に位置するようにします。これにより、 Dragon スプライトと Lightning スプライトの位置が正確になり、 Lightning がドラゴンの足元から発射されるのを防ぎます。

../_images/19_dragon5.png
  • 対応するように、 dragon-b はドラゴンの頭を中心点と一致させる必要があります。

../_images/19_dragon5.png
  • Lightning スプライトのサイズと方向を調整し、画像がより調和のとれたものになるようにします。

../_images/19_lightning3.png
  • 今度は Lightning スプライトをスクリプト化します。これは簡単で、 Dragon スプライトを常に追従させるだけです。この時点で緑の旗をクリックすると、 Dragon が稲妻を口にくわえて動き回るのが見えるでしょう。

../_images/19_lightning4.png
  • Dragon スプライトに戻り、口から火を吹き出すようにします。口の中の火を発射しないよう注意し、 Lightning スプライトのクローンを作成します。

../_images/19_dragon6.png
  • Lightning スプライトをクリックし、 Lightning のクローンをランダムな角度で発射します。一定の時間が経過すると、壁から跳ね返り消えます。

../_images/19_lightning5.png
  • Lightning スプライトで、その本体を隠し、クローンを表示します。

../_images/19_lightning6.png

これでドラゴンは上下に動きながら火を吹き出すことができます。

2. Wand

  • Wand スプライトを作成し、方向を180にして右を向かせます。

../_images/19_wand1.png
  • 変数 hp を作成して、そのライフ値を記録します。初期設定は3にします。次に、ジョイスティックの値を読み取り、それを使用してワンドの動きを制御します。

../_images/19_wand2.png
  • ドラゴンは雷を持っており、それを砕くワンドには「魔法の弾丸」があります! Star スプライトを作成し、サイズを変更して、常に Wand スプライトに従い、星の数を3つに制限します。

../_images/19_star2.png
  • Wand スプライトが星を自動的に撃つようにします。 Wand スプライトが星を撃つ方法は、ドラゴンが火を吹き出す方法と同じです。クローンを作成するだけです。

../_images/19_wand3.png
  • Star スプライトに戻り、そのクローンが右に回転して撃つようにスクリプトを書きます。ステージの外に出た後に消え、星の数を回復します。 Lightning スプライトと同様に、本体を隠してクローンを表示します。

../_images/19_star3.png

これで、星の弾丸を撃つワンドができました。

3. Fight!

ワンドとドラゴンは現在まだ互いに対立していますが、それらを戦わせることにします。ドラゴンは強力であり、ワンドはドラゴンに対して聖戦を行う勇敢な人です。彼らの間の相互作用は、以下の部分で構成されます。

  1. ワンドがドラゴンに触れると、ワンドは後ろに打ち退けられ、ライフポイントを失います。

  2. 雷がワンドに当たると、ワンドはライフポイントを失います。

  3. 星の弾丸がドラゴンに当たると、ドラゴンはライフポイントを失います。

その後、各スプライトのスクリプトを変更する作業に進みます。

  • WandDragon に当たると、後ろに打ち退けられ、ライフポイントを失います。

../_images/19_wand4.png
  • LightningLightning スプライトのクローン)が Wand スプライトに当たると、ポップ音を鳴らして消え、 Wand はライフポイントを失います。

../_images/19_lightning7.png
  • StarStar スプライトのクローン)が Dragon に当たると、収集音を発して消え、 Star の数を回復し、 Dragon はライフポイントを失います。

../_images/19_star4.png

4. ステージ

WandDragon の戦いは最終的に勝者と敗者に分かれることになりますが、それはステージで表現します。

  • Blue Sky の背景を追加し、それに「WIN!」の文字を書き、ドラゴンが倒され、夜明けが来たことを示します。

../_images/19_sky0.png
  • そして、次のように空白の背景を修正して、ゲームが失敗し、全てが闇になることを示します。

../_images/19_night.png
  • これらの背景を切り替えるスクリプトを書きます。緑の旗がクリックされると、 Woods の背景に切り替えます。ドラゴンのライフポイントが1未満の場合、ゲームが成功し、背景を Blue Sky に切り替えます。 Wand のライフポイントが1未満の場合、 Night の背景に切り替え、ゲームが失敗します。

../_images/19_sky1.png