PR

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

ブロックリー

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

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

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

立プロ

新卒でメーカーに入り、10年間組み込みの現場で設計を行う。
今は個人事業主として自作の組み込み機器開発や、エージェント様に紹介いただき業務委託を行っています。
C,C#,JavaScript, Vue, PHP, VBA, GAS, Kotlinなど、扱う言語が増えゆく日々。

立プロをフォローする

学習内容

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

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

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

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

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

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

戻り値のある関数

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

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

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

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

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

引数

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

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

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

レベル1

下のリンクからどうぞ!

Blockly Games : Pond Tutor
...

JavaScriptコード

cannon(90, 40);

レベル2

下のリンクからどうぞ!

Blockly Games : Pond Tutor
...

JavaScriptコード

cannon(180, 50);

レベル3

下のリンクからどうぞ!

Blockly Games : Pond Tutor
...

JavaScriptコード

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

レベル4

下のリンクからどうぞ!

Blockly Games : Pond Tutor
...

JavaScriptコード

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

レベル5

下のリンクからどうぞ!

Blockly Games : Pond Tutor
...

JavaScriptコード

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

レベル6

下のリンクからどうぞ!

Blockly Games : Pond Tutor
...

JavaScriptコード

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

レベル7

下のリンクからどうぞ!

Blockly Games : Pond Tutor
...

JavaScriptコード

swim(315);

レベル8

下のリンクからどうぞ!

Blockly Games : Pond Tutor
...

JavaScriptコード

swim(270,40);

レベル9

下のリンクからどうぞ!

Blockly Games : Pond Tutor
...

JavaScriptコード

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

レベル10

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

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

下のリンクからどうぞ!

Blockly Games : Pond Tutor
...

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は様々な答えがあります。

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

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

コメント

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