スクラッチプログラミング

7-4 ギガが好きな色を当てる

Gigaには好きな色が3つあり、ユーザーがそれを当てるゲームを作成します。1つ当たっていればOKとします。

ステップ1

これまでと同じように、新しいプロジェクトを作成し、「ギガが好きな色を当てる」というプロジェクト名にします。そしてネコのスプライトを削除し、Gigaスプライトをプロジェクトに読み込みます。

Gigaにはコスチュームが4つあります。ここでは2(Giga-b)を使うことにします。[コスチューム]タブをクリックし、上から2つめの2(Giga-b)をクリックすると、ステージに反映されます。

ステップ2

リストcolorsを作成し、項目として「あお」、「むらさき」、「あか」を追加します。ギガには「わたしの好きな色を当ててね!」としゃべらせます。次のヒントと下図を参考に、自分でスクリプトを組んでみてください。
– ヒント –
[変数]-[リストを作る]、リストの名前はcolors、左下の[+]で追加

ステップ3

ルールを決めます。ユーザーがリストにある色を当てたら、ギガは当たったことを伝えます。当たらなかったら、はずれたことを伝えます。これは条件が使用できます。「もし~なら〇〇し、そうでなければ××」なので、次のブロックが適切です。

[もし( )なら でなければ]ブロックの六角形には条件が入ります。[変数]-[リストを作る]ボタンの下にあるリストで使えるコードブロックを見ると、六角形のブロックは((colors)に(なにか)が含まれる)しかありません。この条件ブロックは、( )内に指定したものがリストの中に含まれるかどうかを調べ、含まれていた場合にはTRUEを、そうでない場合にはFALSEを返します。返すというのは、値を返すという意味で、プログラミングでよく使用される用語です。返した結果、この六角形全体がTRUEか、FALSEになります。

((colors)に(なにか)が含まれる)の(なにか)とは、今の場合、ユーザーがテキスト入力ボックスに入力した文字です。これは[調べる]の[(あなたの名前は何ですか?)と聞いて待つ]の下の変数(答え)に自動的に入れられます。したがって、この(答え)を(なにか)にドラッグ&ドロップします。

ステップ4

ユーザーの予想が当たったら、Gigaに「当たり! わたしは( )が大好き!」と言わせます。これは、条件がTRUEの場合のアクションです。たとえばユーザーの予想が「むらさき」だったら、「わたしはむらさきが大好き!」にし、「あか」だったら「わたしはあかが大好き」にします。

そうでない場合、つまり予想がはずれたときには、「はずれ! わたしは( )はきらい!」と言わせます。これは、条件がFALSEの場合のアクションです。たとえばユーザーの予想が「みどり」だったら、「わたしはみどりはきらい!」と言うようにします。

TRUEの場合のアクションは、「当たり! わたしは( )が大好き!」と2秒言わせます。これは「当たり! わたしは」という文字列と、変数(答え)の値(文字列)と、「が大好き!」という3つの文字列をつないだ文字列です。

しかし[見た目]のコードブロックには[(こんにちは)と(2)秒言う]しかなく、1つの文字列しか入れられないように見えます。3つの文字列(うち1つは変数)次の手順で1つにつなげることができます。

  1. [演算]-[(りんご)と(バナナ)]をドラッグ&ドロップします。まだ細かな作業をつづけるので、スクリプトの外にドロップします。
  2. [(りんご)と(バナナ)]をもう1つドラッグし、先にドラッグした[(りんご)と(バナナ)]の(りんご)の上にドロップします。
  3. 左の(りんご)を「当たり! わたしは」に変えます。
  4. 真ん中の(バナナ)の上に、[調べる]-(答え)をドラッグ&ドロップします。
  5. 右の(バナナ)を「が大好き!」に変えます。
  6. [見た目]-[(こんにちは)と(2)秒言う]をドラッグ&ドロップし、(こんにちわ)の上に(5)をドロップします。

これでTRUEのときに実行するコードブロックができました。FALSEのときに実行するコードブロックはこれによく似ているので、右クリックして複製を作成することにします。

2つのコードを、TRUEとFALSEのへこみにそれぞれドラッグ&ドロップします。

では、プログラムを実行して思ったように動作するか、確認してみましょう。テストするときには、一時的に[リスト(colors)を隠す]ブロックをはずしたり、変数(答え)をステージに表示すると、確認しやすくなります。

チャレンジ

では応用で、答えが当たったときGigaのコスチュームを3に変え、はずれたとき4に変えるように、スクリプトを修正してみましょう。
次に実行するとき、最初のコスチュームに戻るよう、初期化時にコスチュームを2に設定しておく必要があります。

このプログラムはこのリンクからダウンロードできます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です