子どもだけでなく、大人も一緒に。第8回はカードの「表裏」をひっくり返せる条件を決めましょう。FacebookTwitterLINEはてブ前ページ123次ページこれまでの【親子で楽しもう!Scratchプログラミング】はこちら前回は裏にしたカードを開くところまでできました。今回は、それに次の機能を追加します。開けるカードを2枚までにする(3枚目は開けない)表にしたカードをもう一度クリックすると、裏に戻せるそれには、2つの変数と1つのリストが必要です。カードを開くことができるかどうかの変数「開けるか」と何枚開いたかの変数「開いた数」、それに、各カードが表か裏かのリスト「カードの状態」です。変数を用意する「変数」から、「変数を作る」をクリックし、「開けるか」と「開いた数」を作ります。「リストを作る」をクリックし、「カードの状態」を作ります。変数を初期化する「(緑の旗のマーク)が押されたとき」のイベントに対してのブロックに、変数とリストの最初の値を設定しておきましょう。すれば、前の実行の値が残っていたりしても、また、まっさらな状態から始めることができます。このような処理を「初期化」といいます。「カードの絵をすべて削除する」の「カードの絵」を「カードの状態」に変えて、「12回繰り返す」の上にはめ込みます。「なにかをカードの絵に追加する」の「なにか」を「裏」に、「カードの絵」を「カードの状態」にします。「カード番号を0にする」を「12回繰り返す」の上にはめ込み、「カード番号」を「開いた数」にします。1個「カード番号を0にする」を「12回繰り返す」の上にはめ込み、「カード番号」を「開けるか」、「0」を「はい」にします。処理を分ける「このスプライトが押されたとき」で行う処理は、大きく分けて2つ必要です。1つは、カードが開けるときの処理で、カードが裏だったら、表を表示する処理。11つは、カードが開けないときの処理で、カードが表だったら裏に戻す処理です。処理を、開けるときとそうでないときに分けるには、「制御」の「もし...なら、でなければ」ブロックを使います。50」を、「もし...なら、でなければ」の空欄に、はめ込みます。50」の左側は「変数」の「開けるか」、右側は「はい」にします。これで、処理が2つに分かれます。それぞれの処理で、カードが裏か表かを判断するために、「もし...なら」のブロックを中に入れます。50」を、「もし...なら」の空欄にはめ込みます。50」の左側は「変数」から「カードの絵の11番目」、右側は「裏」にします。11番目」の「カードの絵」は「カードの状態」に、「1」のところを「カード番号」にします。「もし、カードの絵のカード番号番目=裏なら」の中には、前回作った「コスチュームをカードの絵のカード番号番目にする」を動かして、はめ込みます。変える」をはめ込み、「カード番号」を「開いた数」にします。その下に、「カードの絵の1番目を1に置き換える」をはめ込み、「カードの絵」を「カードの状態」に変更し、左側の「1」を「カード番号」、右側の「1」を「表」にします。ここまでで、カードが開けるとき、カードが裏だったら、表にするようにできました。