SE_BOKUのまとめノート的ブログ

SE_BOKUが知ってること・勉強したこと・考えたことetc

Scratch(スクラッチ)(7)/ボールが動きまわるプログラム・乱数・IF文・オリジナルスプライト作成

f:id:arakan_no_boku:20200824233948p:plain

  

目次

ボールが動き回るプログラムを作る

色を変えながらランダムに動き、壁にあたったら跳ね返り、適当なタイミングで自分のスタンプを残してまわるボール・・みたいなものを、乱数とIF文を組み合わせてやってみることにします。

用語のわからないときは以下の記事を参照ください。 

arakan-pgm-ai.hatenablog.com

オリジナルスプライトの作成

 動き回るボールは自分でスプライトを作ってみます。

スプライトを「描く」を選びます。

f:id:arakan_no_boku:20200912002009p:plain

開いたコスチュームタブで、描画ツールを使って「丸」を描きます。

f:id:arakan_no_boku:20200912002216p:plain

この丸を残して、デフォルトのスプライトは消しておきます。 

動作イメージの確認

こんな感じからスタートします。

f:id:arakan_no_boku:20200929220746p:plain

スプライトを押すと、壁にあたって動き回りながら、色をかえていき、適当なタイミングでスタンプを残していき、しばらく、動かしたらこんな感じになるのをやります。

f:id:arakan_no_boku:20200929220609p:plain

スクリプト:全体

 全体はこうです。

f:id:arakan_no_boku:20200929223907p:plain

ずっと・・のループの中で、10歩動かして「もし端についたら跳ね返る」ブロックをおいてます。

これだけで、「背景の中で跳ね返りながら動き回る」が実現できます。

スクリプト:カウンタを変数で定義する

スタンプを押すタイミングをはかるための「カウンタ」は、変数を作るで定義しておきます。

f:id:arakan_no_boku:20200929225020p:plain

これをカウントアップしていって、カウンターが100を超えたら、カウンターを0に戻して色を変えて、スタンプを押すということをします。

条件文は制御ブロックパレットにある「もし・・なら」ブロックを使います。

f:id:arakan_no_boku:20201003010309p:plain

スクリプト:条件式を使う

条件式は演算ブロックパレットにある以下のようなブロックを使います。

f:id:arakan_no_boku:20201003010451p:plain

ドラッグ&ドロップでぺたぺたとはめ込んでいくと、条件式ができます。

今回は、こんな感じです。

f:id:arakan_no_boku:20201003010649p:plain

スクリプト:乱数を使ってランダムを実現する

乱数も演算ブロックパレットにあります。

f:id:arakan_no_boku:20201003011137p:plain

こうすると、0から10までの間の数字をランダムに返してくれます。

今回は。

f:id:arakan_no_boku:20201003011311p:plain

こうすることで、スタンプを押されるタイミングが一定にならないようにしてます。

この乱数を・・歩動かすのところに使うと、スプライトの動きがよりランダムになったりとかするわけですが、今回はしてません。

あわせて、カウンターが100以下の時(つまり、でなければ・・の条件の時)は「色を5ずつ変える」にして、動き回りながらチラチラ色が変わるようにしました。

Scratchの色の扱いについて・・例えば、なぜ数字を変えると色が変わるのか・・がわからない場合は、こちらも見てください。

arakan-pgm-ai.hatenablog.com

スクリプト:初期化も用意する

元の状態に戻すスクリプトも用意しておきます。

こうしとかないと、テストとかで動かすたびに、もとに戻すのが面倒ですからね。

f:id:arakan_no_boku:20200929231451p:plain

単純に、緑の旗が押されたら、背景に描画されているボールを全部消し、カウンターを0にして、ボールを中心に戻してます。

X座標、y座標ともに0が中心である・・というあたりがピンとこない方は、こちらの記事で確認してください。

arakan-pgm-ai.hatenablog.com

 

プロジェクトは公開してます

今回のプロジェクトは以下URLで公開しています。

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

f:id:arakan_no_boku:20200929231948p:plain

動かしたり、中を見るボタンでスクリプトを確認したりして遊んでください。

今回はこんなところで。

scratchの他の記事一覧はこちらです。

arakan-pgm-ai.hatenablog.com

ではでは。