2.22 GAME - ドラゴン討伐¶
このゲームでは、ジョイスティックを使ってドラゴンを討伐します。
緑色をクリックすると、ドラゴンは右側で上下に浮かび、時々火を吹きます。魔法の杖の動きをジョイスティックで制御し、ドラゴンに向かって星の攻撃を打ち出しつつ、ドラゴンが放つ炎を避けて、最終的に倒す必要があります。
必要な部品¶
このプロジェクトには以下の部品が必要です。
全セットを購入することは非常に便利です。リンクは以下の通りです:
名前 |
このキットのアイテム |
リンク |
---|---|---|
3 in 1 Starter Kit |
380+ |
以下のリンクから個別に購入することもできます。
コンポーネントの紹介 |
購入リンク |
---|---|
- |
回路の作成¶
ジョイスティックは、ベース上で旋回するスティックを持つ入力デバイスで、制御するデバイスにその角度や方向を報告します。ジョイスティックは、ビデオゲームやロボットの制御によく使用されます。
コンピュータに完全な動きを伝えるために、ジョイスティックはスティックの位置を2つの軸で測定する必要があります – X軸(左から右)とY軸(上から下)です。
ジョイスティックの動きの座標は以下の図に示されています。
注釈
x座標は左から右へ、範囲は0-1023。
y座標は上から下へ、範囲は0-1023。
以下の図に従って回路を組み立ててください。
プログラミング¶
1. ドラゴン
Woods の背景は Choose a Backdrop ボタンから追加します。
デフォルトのスプライトを削除し、 Dragon スプライトを追加します。
Costumes ページに移動し、dragon-b と dragon-c を水平に反転します。
サイズを50%に設定します。
変数 - dragon を作成して、ドラゴンのライフポイントを記録し、初期値を50に設定します。
次に、スプライトのコスチュームを dragon-b に切り替え、 Dragon スプライトを一定の範囲で上下に動かします。
Dragon スプライトが吹き出す火として、 Lightning スプライトを追加します。Costumesページで90°時計回りに回転させ、 Lightning スプライトが正しい方向に動くようにします。
注釈
Lightning スプライトのコスチュームを調整する際、中心から外れてしまうことがありますが、それは避ける必要があります! 中心点はスプライトの真ん中に合わせてください!
まず、 Dragon スプライトの dragon-c コスチュームを調整し、その中心点が火の尾に位置するようにします。これにより、 Dragon スプライトと Lightning スプライトの位置が正確になり、 Lightning がドラゴンの足元から発射されるのを防ぎます。
対応するように、 dragon-b はドラゴンの頭を中心点と一致させる必要があります。
Lightning スプライトのサイズと方向を調整し、画像がより調和のとれたものになるようにします。
今度は Lightning スプライトをスクリプト化します。これは簡単で、 Dragon スプライトを常に追従させるだけです。この時点で緑の旗をクリックすると、 Dragon が稲妻を口にくわえて動き回るのが見えるでしょう。
Dragon スプライトに戻り、口から火を吹き出すようにします。口の中の火を発射しないよう注意し、 Lightning スプライトのクローンを作成します。
Lightning スプライトをクリックし、 Lightning のクローンをランダムな角度で発射します。一定の時間が経過すると、壁から跳ね返り消えます。
Lightning スプライトで、その本体を隠し、クローンを表示します。
これでドラゴンは上下に動きながら火を吹き出すことができます。
2. Wand
Wand スプライトを作成し、方向を180にして右を向かせます。
変数 hp を作成して、そのライフ値を記録します。初期設定は3にします。次に、ジョイスティックの値を読み取り、それを使用してワンドの動きを制御します。
ドラゴンは雷を持っており、それを砕くワンドには「魔法の弾丸」があります! Star スプライトを作成し、サイズを変更して、常に Wand スプライトに従い、星の数を3つに制限します。
Wand スプライトが星を自動的に撃つようにします。 Wand スプライトが星を撃つ方法は、ドラゴンが火を吹き出す方法と同じです。クローンを作成するだけです。
Star スプライトに戻り、そのクローンが右に回転して撃つようにスクリプトを書きます。ステージの外に出た後に消え、星の数を回復します。 Lightning スプライトと同様に、本体を隠してクローンを表示します。
これで、星の弾丸を撃つワンドができました。
3. Fight!
ワンドとドラゴンは現在まだ互いに対立していますが、それらを戦わせることにします。ドラゴンは強力であり、ワンドはドラゴンに対して聖戦を行う勇敢な人です。彼らの間の相互作用は、以下の部分で構成されます。
ワンドがドラゴンに触れると、ワンドは後ろに打ち退けられ、ライフポイントを失います。
雷がワンドに当たると、ワンドはライフポイントを失います。
星の弾丸がドラゴンに当たると、ドラゴンはライフポイントを失います。
その後、各スプライトのスクリプトを変更する作業に進みます。
Wand が Dragon に当たると、後ろに打ち退けられ、ライフポイントを失います。
Lightning ( Lightning スプライトのクローン)が Wand スプライトに当たると、ポップ音を鳴らして消え、 Wand はライフポイントを失います。
Star ( Star スプライトのクローン)が Dragon に当たると、収集音を発して消え、 Star の数を回復し、 Dragon はライフポイントを失います。
4. ステージ
Wand と Dragon の戦いは最終的に勝者と敗者に分かれることになりますが、それはステージで表現します。
Blue Sky の背景を追加し、それに「WIN!」の文字を書き、ドラゴンが倒され、夜明けが来たことを示します。
そして、次のように空白の背景を修正して、ゲームが失敗し、全てが闇になることを示します。
これらの背景を切り替えるスクリプトを書きます。緑の旗がクリックされると、 Woods の背景に切り替えます。ドラゴンのライフポイントが1未満の場合、ゲームが成功し、背景を Blue Sky に切り替えます。 Wand のライフポイントが1未満の場合、 Night の背景に切り替え、ゲームが失敗します。