PR

【ブロックリーゲーム】ポンドチューター&ポンドの答え、考え方、学習内容を紹介します

ブロックリー

何を学ぶことができるの?
難問で全然解けません!

こうした悩みを解決します。

ポンドチューターではなく、ポンドの答えをお探しならこちら↓

姫野秀徳

組み込みエンジニアとしてメーカー勤務10年。
第二種電工事士、基本情報技術者、Code.org認定教師。
microbitを用いた電子工作&プログラミング教室を開校。
組み込み開発の実際を発信するyoutube活動も行う。

無料で学べる組み込み開発オンラインスクールはじめました!
https://kumicla.tatepro.com

姫野秀徳をフォローする

学習内容

ポンドチューターでは、敵に大砲を投げて倒すシューティングゲームを作ります。

ステージの名前の通りですが、ポンドチューターは後のステージ「ポンド」のためのチューター(=学習補助)です。

学習内容は戻り値のある関数と引数です。

音楽では関数を呼び出すだけでしたが、ポンドチューターでは呼んだ関数は処理を終えると結果を返します

返ってきた値を使って処理を切り替えます。

そしてポンドチューターではJavaScriptのプログラミングを行います。

戻り値のある関数

関数内の処理を終えたら何かしらの戻り値を返します。

例えば、ポンドチューターではscan()関数が戻り値のある関数ですね。

scan関数は指定した角度に対して存在する敵と自身との距離を100分率で返します。

音楽のステージで設計した関数は処理のかたまりを作っただけで、関数が処理後に何か返すことはなかったですね。

ここはしっかり意識しておきたいところです。

引数

引数とは、関数を呼ぶ時に予め与える数です。

例えばscan(45)のように書くと、45°の方向に対して敵を探すという処理をしますが、この45と指定したのが引数です。

関数を呼ぶ時の括弧内に書きますが、引数に何を入れるかは関数を宣言するときに指定されます。

レベル1

下のリンクからどうぞ!

Blockly Games : Pond Tutor
Pond Tutor introduces text-based programming. Levels switch back and forth between blocks and actual JavaScript in a tex...

JavaScriptコード

cannon(90, 40);

レベル2

下のリンクからどうぞ!

Blockly Games : Pond Tutor
Pond Tutor introduces text-based programming. Levels switch back and forth between blocks and actual JavaScript in a tex...

JavaScriptコード

cannon(180, 50);

レベル3

下のリンクからどうぞ!

Blockly Games : Pond Tutor
Pond Tutor introduces text-based programming. Levels switch back and forth between blocks and actual JavaScript in a tex...

JavaScriptコード

while (true) {
  cannon(45, 60);
}

レベル4

下のリンクからどうぞ!

Blockly Games : Pond Tutor
Pond Tutor introduces text-based programming. Levels switch back and forth between blocks and actual JavaScript in a tex...

JavaScriptコード

while(true){
 cannon(270, 60);
}

レベル5

下のリンクからどうぞ!

Blockly Games : Pond Tutor
Pond Tutor introduces text-based programming. Levels switch back and forth between blocks and actual JavaScript in a tex...

JavaScriptコード

while (true) {
  cannon(180, scan(180));
}

レベル6

下のリンクからどうぞ!

Blockly Games : Pond Tutor
Pond Tutor introduces text-based programming. Levels switch back and forth between blocks and actual JavaScript in a tex...

JavaScriptコード

while(1){
cannon(0, scan(0));
}

レベル7

下のリンクからどうぞ!

Blockly Games : Pond Tutor
Pond Tutor introduces text-based programming. Levels switch back and forth between blocks and actual JavaScript in a tex...

JavaScriptコード

swim(315);

レベル8

下のリンクからどうぞ!

Blockly Games : Pond Tutor
Pond Tutor introduces text-based programming. Levels switch back and forth between blocks and actual JavaScript in a tex...

JavaScriptコード

swim(270,40);

レベル9

下のリンクからどうぞ!

Blockly Games : Pond Tutor
Pond Tutor introduces text-based programming. Levels switch back and forth between blocks and actual JavaScript in a tex...

JavaScriptコード

while (true) {
  if (getX() < 50) {
    swim(0);
  } else {
    stop();
    cannon(0, 40);
  }
}

レベル10

レベル10は撃たれると逃げる敵を追いかけながら大砲を打ち込んで倒します。

様々な答えがあります。私が作ってみたプログラムはこちら。

下のリンクからどうぞ!

Blockly Games : Pond Tutor
Pond Tutor introduces text-based programming. Levels switch back and forth between blocks and actual JavaScript in a tex...

JavaScriptコード

while(true){
  if(scan(45) >= 50){
    swim(45)
  } else {
    stop()
  }

  cannon(45, scan(45));
}

whle(true){では、常に中の処理を実行し続けるようにしています。

if(scan(45)<=40){では、45°の方向に敵を探し、見つけた時の距離が40以下だったらstop()で停止、
もし40より大きければswim(45)で45°の方向に進みます。

そしてscan関数の処理を終えたら、cannon(45,40)で45°方向に距離40先の位置に大砲を打ち込みます。

たかだか8行のプログラムですが、今までブロックを操作していた感覚と全く違うので苦戦すると思います。これは指導者無しでは厳しいかもしれません。

まとめ

・ポンドチューターでは、戻り値のある関数と引数を学習します
・レベル10は様々な答えがあります。

さあ、ここまで来れば最後の「ポンド」がんばりましょ!

ブロックリー ポンドチューターをやってみる 〉

この内容が良いと思ったら、いいね💖を押して教えてください!

組みクラ – 組み込み開発を学び、未来を創るエンジニアへ
無料で学べる!組み込み開発の基礎から応用までをマスターできるオンラインスクール「組みクラ」

組み込みエンジニアは、あらゆる産業の基盤を支える重要な職業です。
私たちタテプロは、次世代の組み込みエンジニアを育成し、業界の競争力を高めるために活動しています。
あなたも、無料で学べる「組みクラ」で、組み込み開発のスキルをしっかり身につけ、キャリアを加速させましょう!
今すぐ学び始めて、将来の自分をステップアップさせる第一歩を踏み出しませんか?

\立プロとLINEで友だちになりませんか/
立プロと友だちになる
ブロックリー
シェアしていただけると嬉しいです!

コメント

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