この連載では、Scratchを使って、ゲームをつくりながら、プログラミングを楽しんでもらいたい!と考えています。しかも子どもだけでなく、大人も一緒に!第4回では前回に続き、簡単なゲームをつくっていきます。
簡単なゲームをつくってみよう【親子で楽しもう!Scratchプログラミング】 - VaLEd.press(バレッドプレス)
点数が出るようにしよう
クリックできた回数を数えて、点数として出すようにしましょう。それには、「変数」を使います。「変数」は、値を入れておくことのできる入れ物のことです。カテゴリーの「データ」をクリックし、「変数を作る」ボタンをクリック。
変数名のところに「点数」と入力し、「OK」ボタンをクリック。
「点数」という変数と、それを使うためのブロックが用意されました。
点数を0にする
点数を、0 から数えるようにします。緑の旗のマークをクリックする度に、0 に戻るようにします。「点数を0にする」をドラッグして、「 (緑の旗のマーク)がクリックされたとき」と、「30回繰り返す」の間に、はめ込みます。
点数を更新する
Scratchキャットがクリックされたら、点数が1ずつ増えるようにします。「点数を1ずつ変える」をドラッグして、「ニャーの音を鳴らす」の下にはめ込みます。
緑の旗のマークをクリックすると、Scratchキャットが動き出します。Scratchキャットをクリックすると、「ニャー」と鳴きます。表示されている点数の値がクリックする度に1ずつ増えます。
おー、ゲームらしくなりましたね。でも30回動いて、Scratchキャットが止まってからもクリックすると点数が増えてしまいます。
動かした回数を数えよう
Scratchキャットが30回動いたら、ゲームが終わるようにしましょう。そのためには、「変数」を使って、Scratchキャットを動かした回数を数えるようにします。「変数を作る」ボタンをクリックし、変数名を「回数」にして、「OK」ボタンをクリック。
「回数を0にする」をドラッグして「点数を0にする」と、「30回繰り返す」の間にはめ込みます。
「回数を1ずつ変える」をドラッグして、「30回繰り返す」の中の一番上にはめ込みます。
回数が30回未満のときしか点数が増えないようにする
「もし…なら」のブロックを使って、回数が30未満のときしか点数が増えないようにします。「もし…なら」は、指定した条件を満たしたときにしか処理をしないようにするためのブロックです。
カテゴリーの「制御」をクリックし、「もし…なら」をドラッグして、「このスプライトがクリックされたとき」と「ニャーの音を鳴らす」の間に、はめ込みます。
カテゴリーの「演算」をクリックし、「…<…」をスクリプトエリアにドラッグ。
カテゴリーの「データ」クリックし、「回数」をドラッグして「…<…」の左側の空欄にはめ込みます。
「…<…」の右側の空欄に半角で「30」と入力。
「回数<30」をドラッグして、「もし…なら」の空欄にはめ込みます。
「おしまい」のメッセージを出そう
カテゴリーの「見た目」クリックし、「Hello!と言う」をドラッグして、「30回繰り返す」の下にはめ込みます。
「Hello!」を「おしまい」に変更します。
緑の旗のマークをクリックすると、Scratchキャットが動き出します。Scratchキャットが動く度に、回数の値が1ずつ増えます。Scratchキャットをクリックできると、「ニャー」と鳴いて点数の値が1ずつ増えます。
Scratchキャットの動きが止まると「おしまい」のメッセージが出ます。こうなると、Scratchキャットをクリックできても点数は増えません(「ニャー」とも鳴きません)。
仕上げに背景を変えよう
これで動きは完成です。でも真っ白な背景は、ちょっとさびしいですね。画面左下の「ステージ1背景」をクリックし、ブロックリストの上に出てきた「背景」タブをクリック。
「新しい背景:」の中から、山のマーク(「ライブラリーから背景を選択」)をクリック。
「背景ライブラリー」の中から好きな背景をクリックして、「OK」をクリック。
これで、完成です。
完成した「猫にタッチ!」のブロックはこちらです(画面左下の「スプライト」をクリックして、「スクリプト」をクリックすると元のブロックの表示に戻ります)。
どうですか?簡単ですけど、楽しめるゲームができました。Scratchキャットが動く間隔をランダム(0.5〜1.5秒)にしたり、ステージの左右(0以上か0未満か)で、Scratchキャットのスプライトの向きを変えてみたりすると、もっと本格的になると思います。いろいろと試してみてください。
そして、次のゲームですが、ちょっと知的なゲームを作ってみましょう。次回から、数回に分けて「神経衰弱」をつくっていきます。