goo blog サービス終了のお知らせ 

フリースタイル

気ままに

scratchで「ボール跳ね返りゲーム」を作った

2021-11-16 | 日記

scratchで「ボール跳ね返りゲーム」を作った

久ししぶりにscratchを触った。今回はボールが壁にぶつかったら跳ね返り、その動作の中でパドルという棒で下に落ちるのを阻止すればスコアの得点が入る。パドルでボールを跳ね返せずに下の赤い棒に触ってしまえば、ゲーム終了となるプログラムを作った。

 scratch3を立ち上げ、まず背景とボールを入れた。ここからブロックを積み上げていく作業に入る。最初に考えたのはボールがずーと45度の角度で、壁にぶつかったら跳ね返るというものを作った。

          

次にボールを跳ね返すパドルという横棒を入れた。パドルの移動できる範囲も、y座標が「-150」、x座標を「マウスのx座標」にし、ボールがこのパドルに触れたら「ポン」と音が鳴る。

ここまでのプログラムは割と簡単にできた。ただ、考えてみるとボールが45度の回転で動くことがわかったら、自分でもボールの行き先が想像できて、簡単なゲームとなってしまう。これでは面白くない。ボールの行き先を想像できないようにするにはランダムの方向にしたらよいだろう。しかし全くのランダムではこれまた、予想がつかずゲームとして成り立ちにくい。

 そこでボールの行方を「-60度から60度」の範囲とした。これが「ボールがパドルに触れた時のブロックの作り方である。考え方は「30度×(-2から2までの乱数)」とした。これは「-60度、-30度、0、30度、60度」の5種類の動き方のいずれかでボールが跳ね返ることを設定するブロックの作り方である。

   

さあボールの二番めのプログラムを見てもらおう。

      

上の紫色のブロックには音を追加している。ボールがパドルに当たったときに音が出るというものだ。

完成の全体を出してみるね。

右側の背景の下に赤い線がある。これは背景を選んでおいて、塗りつぶしで直線を選んで引いた。ボールが赤い線に触ったらゲームセットである。このプログラムがこうである。

       

以上が今回のプログラムである。難しかったのはボールの2番目の乱数の使い方かな。後は自分の思ったようにブロックを積み上げ、どんどん追加したり、順番を考えればどうにかできるものだ。

 さらに発展させて、拡張機能から「音声合成」を使うのも面白い。

       

この緑色のブロックです。音声合成の拡張を使うと「~~~~としゃべる」が使える。「スコアは」は変数の追加で作ろう。

 

 こんなようにして、久しぶりにscratchを触ったのである。ゲームなので面白い。今回はボールを「10歩動かす」と設定した。それでも結構速いよ。集中してやったら78スコアまで成功した。若い人だったら10歩でなく、もっと大きな数にすると、スリル満点かもしれない。

 それでもこのゲーム、集中してやったので肩が凝ってしまったよ~~。


最新の画像もっと見る