mywayなプログラミング生活ブログ

プログラミング関連の記事を書いています。作る様子がわかる様に動画も作っています。

Scratch2(スクラッチ2)で壁打ちゲームを作ろう(8回目)

myway@おじさんです。
今回は、ボールがオレンジをはね返えるスクリプトを追加します。


動作環境について
OS:MAC OS X(Windowsでも操作はほとんど変わりません)
エディタ:Scratch offline editor(ver.456)

1.準備

前回保存したプロジェクトを開いて下さい。
画面右上の「ファイル」をクリックしてから、「ひらく」をクリックして、プロジェクトを開いて下さい。

2.「Ball」のスクリプト

「Ball」のスクリプトに、「Orange」がはね返えるスクリプトを追加します。

f:id:mywayhaojisan:20170820172351p:plain
「へんすう」に「Orangeにふれた」を追加しています。

f:id:mywayhaojisan:20170820172426p:plain
「もしAppleにふれたなら」ブロックをふくせいして、その中のブロックにある「Apple」を「Orange」に変えただけです。

これで、やりたいことはできているのですが、「むき」を決める同じようなブロックができてしまいました。
じつは、プログラミングの世界では、同じようなプログラム(ここではスクリプト)が2つ以上あると「悪いプログラム」とされています。
理由としては、いくつかありますが、「分かりにくい」が大きな理由の一つです。
今はブロックの数が少ないので、すぐわかりますが、実際のプログラミングは、このブロックが数百から数千個になります。
そうなると、見るのも、作るのも大変です。

3.「分かりやすく」するには?

では、「分かりやすく」するには、どうすればよいか?
それは「同じスクリプト」を「一つにまとめる」方法です。

Scratchでは「そのた」にある「ブロックをつくる」を使います。
「ブロックをつくる」でブロックを作って、おなじスクリプトをまとめることができます。

では、作っていきます。

f:id:mywayhaojisan:20170820172503p:plain
「そのた」にある「ブロックをつくる」をクリックします。

f:id:mywayhaojisan:20170820172525p:plain
なにも書いていないむらさき色のブロックがあるのでクリックして「むきをきめる」と書きます。
次に「もじれつのひきすうをついか」の右にある四角のアイコンをクリックします。
そうするとむらさき色のブロックの中に「string1」と文字が表示されますので、「しゅるい」に変えます。
最後に「OK」をクリックすれば、ブロックが作られます。

f:id:mywayhaojisan:20170820172559p:plain
それと、

f:id:mywayhaojisan:20170820172633p:plain
こんなブロックも作られると思います。
このブロックは必要なので、消さないでください。

このブロックは「ていぎ」と書かれています。
簡単に説明すると、上のブロック(むきをきめるブロック)を呼ぶことで、「ていぎ」ブロックのスクリプトが動く、ということになります。

ちなみにですが、この「ていぎ」、「このスクリプトをていぎする」の「ていぎ」です。

操作がよくわからないときは、動画でもおなじことをしていますので、そちらを参考にしてください。

4.「Ball」のスクリプト

作ったブロックを使った「Ball」のスクリプトです。

f:id:mywayhaojisan:20170820172707p:plain
変えたところは、「もしAppleにふれた=0なら」と「もしOrangeにふれた=0なら」の中のブロックを作ったブロック「むきをきめる」におきかえました。(赤い四角の部分)
それと、「むきをきめる」ブロックの中に、「リンゴ」や「オレンジ」と書いています。
これは「引数(ひきすう)」といって、別のスクリプトに値をわたすものです。
Appleにふれたとき」は、「リンゴ」、「Orangeにふれたとき」は「オレンジ」としています。

つぎは「ていぎブロック」をつくります。

f:id:mywayhaojisan:20170820172746p:plain
上で作った「むきをきめる」ブロックとおきかえたブロックをここに移動してきました。
あとは「もししゅるい=リンゴなら」ブロックと、「もししゅるい=オレンジなら」ブロックはついかしています。
この「しゅるい」というブロックには、「リンゴ」もしくは「オレンジ」が入っていますので、どの障害物にむけるのかを判断しています。

これで、おなじようなブロックがなくなりました。
ぜんたいてきに、スッキリしたように思いませんか?

では、緑のはたをクリックしてみましょう。
Apple」にあたったときと、「Orange」にあたったとき、それぞれただしくはねかえりますか?

今回はここまでです。
作ったら、必ず、「ほぞん」をするように心がけて下さい。

それと、今回も動画がありますので、よければ、参考にしていただければと思います。

youtu.be



次回は、この壁打ちゲームの最終回になります。
今のままでは、終わらないゲームですので、ゲームオーバーを作りたいと思います。



最後まで読んで頂いてありがとうございます。
皆さんに少しでもお役に立てれば幸いです。

<<壁打ち(7回目) 壁打ち(9回目)>>