コンテンツにスキップ

Scratch マリオ風ゲーム

image.png

前提・難易度

Scratchを授業で数回実施した位のレベル。

使いたいブロックのカテゴリが大体推測できると楽。

プロジェクトリンク先→

https://scratch.mit.edu/projects/294821147/

学習のポイントと説明の順版

<マリオのジャンプの実装>

ある状態の間中、処理を繰り返したいときの考え方

「~まで繰り返す」

・まず”上に上がる”→y座標を増やすということに気づかせる

・スペースキーが押されている間、マリオを上に移動させ続けるロジックを考える。

下の例だと、“スペースキーが押していない状態から押された状態になったとき”だけy座標が増える。

image.png

・ある状態のときに処理を続ける「~まで繰り返す」ブロック使うことを検討する。

“スペースキーが押されている間”→“スペースキーが押されてから離されるまで”と表現を変える(意味は同じ)

・“スペースキーが押された”はそのままイベントの「スペースキーが押されたとき」ブロックを使う

・“スペースキーが離された”は「スペースキーが押された」と「~でない」ブロックを組み合わせて実装する

・「スペースキーが押されたとき」+「スペースキーが押された」+「~ではない」+「~まで繰り返す」の4つのブロックで、“スペースキーが押されている間繰り返す”を実装する

image.png

<ステージの実装>

・ステージのスプライトは四角ツールで描いて塗りつぶす

・右から左に移動させる→x座標を増やすでも歩かせるでもどちらでも(座標のほうが良かったかな?)

・“左端に着くまで繰り返す”→「<」と「~まで繰り返す」ブロックを組み合わせて実装

左へ行くほど座標が小さくなるので、“左端の座標より小さくなったら”→「<」を使う

「左端の座標」は、実際にスプライトを左端において、座標を調べて決める

・ステージが出没する場所のy座標は最初は固定値で動かし、あとから乱数に替えてもよい

・乱数の決め方は、実際にステージを上と下に置いてみて、y座標を調べて決める

image.png

<マリオがステージから落ちる動作の実装>

ステージに乗っていないと下に落ちる→

・“落ちる”→y座標を減らす

・“ステージに乗っていない”→ステージの色に触れていない

・「ずっと」の中に入れておかないと1度しか実行されないことに注意

・最初の場所を決めておく

※コスチュームを替えるブロックは無くてもいい

image.png

応用課題

ご褒美スプライト、減点スプライトなどをステージに乗せるなど

注意

素材とか