2.16 ゲーム - りんごを食べる¶
このプロジェクトでは、ボタンを使用してビートルを操作し、りんごを食べるゲームを楽しみます。
緑のフラグをクリックした後、ボタンを押すとビートルは回転します。ボタンを再度押すとビートルはその角度で直進します。マップ上の黒い線に触れずに、適切な角度でビートルを操作し、りんごを食べるまで進めてください。もし黒い線に触れてしまったら、ゲームオーバーとなります。
必要な部品¶
このプロジェクトで必要な部品は以下の通りです。
全ての部品が含まれたキットを購入するのは非常に便利です。リンクはこちら:
名前 |
このキットのアイテム |
リンク |
---|---|---|
3 in 1 Starter Kit |
380+ |
以下のリンクから、部品を個別に購入することも可能です。
コンポーネントの紹介 |
購入リンク |
---|---|
回路の作成¶
ボタンは4ピンのデバイスです。ピン1はピン2に、ピン3はピン4に接続されています。ボタンが押されると、4つのピンが接続され、回路が完成します。
下記の図に従い、回路を組み立ててください。
ボタンの左側のピンの1つを、プルダウン抵抗と0.1uF (104) のキャパシターに接続されているピン12に接続します(ボタン動作時のジッタを除去し、安定した出力を得るため)。
抵抗とキャパシタのもう一方の端子をGNDに接続し、ボタンの右側のピンの1つを5Vに接続します。
プログラミング¶
私たちが達成したい効果は、ボタンを使って Beetle スプライトの方向を制御し、 Maze バックドロップ上の黒い線に触れずに前進してりんごを食べ、食べるとバックドロップが切り替わることです。
まず関連するバックドロップとスプライトを追加します。
1. バックドロップとスプライトの追加
Choose a backdrop ボタンを使って Maze バックドロップを追加します。
デフォルトのスプライトを削除し、 Beetle スプライトを選択します。
Beetle スプライトを Maze バックドロップの入口に配置し、この時点でのx,y座標の値を覚えておき、スプライトのサイズを40%に調整します。
2. バックドロップの描画
次に、WIN!キャラクターが表示されるバックドロップを簡単に描画します。
まずバックドロップのサムネイルをクリックして Backdrops ページに移動し、blank backdrop1をクリックします。
描画を開始します。下の画像を参考に描くことができますし、勝利の表情として独自のバックドロップを描くこともできます。
Circle ツールを使用して、色を赤に設定し、アウトラインを持たない楕円を描きます。
次に Text ツールを使って、"WIN!"という文字を書き、文字の色を黒に設定し、文字のサイズと位置を調整します。
バックドロップの名前を Win にします。
3. バックドロップのスクリプト作成
ゲームが開始するたびに、バックドロップを Maze に切り替える必要があります。
4. Beetleスプライトのスクリプトの記述
ボタンの制御の下で前進と方向転換ができるように、スプライト Beetle のスクリプトを書きます。ワークフローは以下の通りです。
緑のフラグがクリックされたとき、 Beetle の角度を90に設定し、位置を(-134, -134)に設定します。また、自分で配置した位置の座標値に置き換えることもできます。変数 flag を作成し、初期値を-1に設定します。
次に、[forever]ブロック内で、4つの[if]ブロックを使用して様々な可能性のあるシナリオを判断します。
キーが1(pressed)の場合、[mod]ブロックを使用して変数 flag の値を0と1の間で切り替えます(このプレスのための0、次のプレスのための1を交互にする)。
flag=0(このキーの押下)の場合、 Beetle スプライトは時計回りに回転します。次にflagが1(再びキーが押された)と等しいかどうかを判断し、 Beetle スプライトが前進するか、時計回りに回り続けるかを決定します。
Beetleスプライトが黒( Maze バックドロップ上の黒い線)に触れると、ゲームは終了し、スクリプトは実行を停止します。
注釈
[Touch color]ブロック内の色領域をクリックし、アイドロッパーツールを選択してステージ上の黒い線の色を取得する必要があります。任意で黒を選択すると、この[Touch color]ブロックは動作しません。
Beetleが赤に触れると(アップルの赤い色を取得するためにストロツールも使用します)、バックドロップは Win に切り替わり、ゲームは成功し、スクリプトの実行が停止します。