この連載では、Scratchを使って、ゲームをつくりながらプログラミングを楽しんでもらいたい!と考えています。しかも子どもだけでなく、大人も一緒に。第7回は「カードの絵」をシャッフル!「カードの絵」に入っているコスチューム番号の順番をランダムに並べ替えます。

入れ替えに必要な変数をつくろう

並べ替えは、1番の「カードの絵」から順番に、乱数で出た「カードの絵」と入れ替えるという手法を使います。

まず乱数で出たカード番号を取っておくために、変数「入れ替えるカード番号」をつくりましょう。

「変数」から「変数をつくる」をクリック。

画像1: 入れ替えに必要な変数をつくろう

「新しい変数名:」に、「入れ替えるカード番号」と入力し「OK」をクリック。

画像2: 入れ替えに必要な変数をつくろう

変数「入れ替えるカード番号」ができます。

画像3: 入れ替えに必要な変数をつくろう

同様に、変数「元の絵」を用意しましょう。「元の絵」は、カードを入れ替えるときに、元の絵の値を取っておくための変数です。

画像4: 入れ替えに必要な変数をつくろう

入れ替えのためのテクニック

「カードの絵」の値を入れ替えるときには、ちょっとテクニックが必要です。たとえば1番と5番を入れ替えるとします。

画像1: 入れ替えのためのテクニック

【ステップ1】1番の「カードの絵」を「元の値」にコピー

画像2: 入れ替えのためのテクニック

【ステップ2】5番の「カードの絵」を1番の「カードの絵」にコピー

画像3: 入れ替えのためのテクニック

【ステップ3】「元の値」を5番の「カードの絵」にコピー

画像4: 入れ替えのためのテクニック

こうして手順を追っていくと、どんなふうにブロックを組めばいいのかわかってきます。なぜ「元の絵」の変数を用意したのか、わかりましたか?

元の絵を取っておかずに、ステップ2のコピーをやってしまうと、どちらも同じ値になってしまい、入れ替えができなくなってしまうからなんですね。では、今からブロックで組みましょう。

入れ替えるカードを指定する

「カード番号を1ずつ変える」をスクリプトエリアにドラッグ。

画像1: 入れ替えるカードを指定する

「カード番号を 0 にする」をその下にはめ込み、「カード番号」の文字の横にある▼の部分をクリック。「入れ替えるカード番号」に変更します。

画像2: 入れ替えるカードを指定する

「演算」の「1から 10 までの乱数」を「入れ替えるカード番号を 0 にする」の「0」のところにはめ込み、「10」を「12」にします。

画像3: 入れ替えるカードを指定する
記事全文ページのみ

This article is a sponsored article by
''.