スクラッチはどうやって始めたら良いの?東京情報大学総合情報学部の教授であり、プログラミング教育者やサイエンスライターとしても活躍する、松下孝太郎さんが解説します。
今日のポイント
1.Scratch(スクラッチ)とは?
2.Scratch(スクラッチ)で作られたおすすめゲーム例
3.【初級編】スクラッチ(Scratch)でゲームを作成してみよう
4.【中級編】スクラッチ(Scratch)のゲームをアレンジしてみよう
Scratch(スクラッチ)とは?
スクラッチ(Scratch)は子どもから大人まで幅広い年齢層で楽しめるビジュアルプログラミング言語です。2020年度から始まった小学校におけるプログラミング教育必修化でも注目されており、今後、ますます利用範囲が広がると思われます。スクラッチは、インターネットが利用できれば、公式サイト(https://scratch.mit.edu/)にアクセスして自由に使うことができます。また、スクラッチの公式サイトからアプリをダウンロードしてパソコンなどにインストールして使うこともできます。
ここでは、未就学児から小学校低学年の子どもが挑戦すること想定し、スクラッチを使ったプログラミング例やプログミングのコツなどを解説します。今回は、子どもにも人気のテーマであるゲームを軸にご紹介しましょう。
Scratch(スクラッチ)で作られたおすすめゲーム例
スクラッチの公式サイトには、たくさんの作品が公開されています。他の人の作品を見ることは、スクラッチでできることを理解するだけでなく、自分で作品を作る場合の参考にもなります。まずは、スクラッチの公式サイト(https://scratch.mit.edu/)にアクセスしましょう。
スクラッチの公式サイトが表示されますので、上部にある「見る」をクリックしましょう。
公開されている作品の一覧が表示されます。「ゲーム」をクリックすると、ゲームの一覧が表示されますので、このなかから、見たいゲームをクリックして選びます。画面の下の方にもたくさんのゲームがありますので、画面右横のスクロールバーを下にドラッグしてみてください。
ゲームは、シューティングゲーム、アクションゲーム、パズルゲームなどさまざまな種類があります。いくつかの種類のゲームを見てみましょう。実際にゲーム名で検索をしてみてください。
シューティングゲーム「mouse attack」
ゲームのURL:https://scratch.mit.edu/projects/512194998/
シューティングゲームの「mouse attack」です。siyoikauさんの作品です。マウスで戦闘機を動かし、スぺースキーで弾を発射して隕石を破壊します。隕石を破壊すると得点が入ります。3回隕石に当たるとゲームオーバーになります。
得点やライフの表示、効果音もあり臨場感のあるゲームです。ゲームのストーリーはシンプルに見えますが、プログラム自体は初学者には難しいものとなっています。ゲームの作成に関しては、まず得点やライフなどの表示がないシンプルなものから作成し、徐々に複雑なものに挑戦していくと良いでしょう。
アクションゲーム「《#4》ғɪsʜɪɴɢ」
ゲームのURL:https://scratch.mit.edu/projects/494072759/
アクションゲームの「《#4》ғɪsʜɪɴɢ」です。zohsamaさんの作品です。マウスをクリックして釣り竿を上げ下げして魚を釣ります。
マウス操作のみでゲームができ、ゲームの動きもゆっくりしたものになっていますので、小さな子どもでも簡単に操作することができます。かわいいキャラクターとゆったりとした効果音にも癒されます。キャラクターの数が多いため、キャラクターごとに動きの異なるプログラムが必要となるため、プログラムは相当のものとなっています。
パズルゲーム「Reversi(オセロ)」
ゲームのURL:https://scratch.mit.edu/projects/87543939/
パズルゲームの「Reversi(オセロ)」です。syatoさんの作品です。ネコと対戦します。マウスでクリックして自分の石を置いていきます。
世界的に知られているオセロゲームです。コンピュータと対戦する形式になっています。パズルゲームはその局面ごとに適切な場合分けの処理が必要になります。したがって、プログラミング技術だけでなく、算数や数学の知識も必要になる場合があります。プログラミングを行いながら算数や数学の実践的な知識を身につけることも期待できます。
【初級編】スクラッチ(Scratch)でゲームを作成してみよう
ゲームを初めて作る子どもにおすすめしたいのは、ゲームの内容(ストーリー)を決めやすく、アレンジもしやすい、シューティングゲームです。ここでは、その作り方を解説します。
ゲームは4つの作成手順で作成します。
1.ゲームの内容の決定
2.背景の設定
3.スプライト(キャラクター)の設定
4.コードの作成
ゲームが完成したら動かしてみましょう。
①ゲームの内容の決定
今回は、左右に動いているロボットに宇宙船から弾を発射し、弾がロボットに当たったらロボットの色が変わるようにします。 ここでは、背景は「月面」、キャラクターは「宇宙船」「弾」「ロボット」を使用します。なお、スクラッチではキャラクターのことを「スプライト」と呼びます。それでは、トップ画面の「作る」を押し作成画面を開きましょう。
②使用する背景の決定
作成画面を開いたら、初めに背景の設定を行います。
画面右下にある画像マークにカーソルを合わせ「背景を選ぶ」ボタンをクリックしましょう。
「背景を選ぶ」ページが表示されますので、この中から「Moon」をクリックして選びましょう。
背景が読み込まれました。
③使用するキャラクター(スプライト)を決定
次にスプライト(キャラクター)の設定を行います。ネコは使わないので、アイコンの右上のゴミ箱のボタン(赤丸の部分)をクリックして、ネコを消します。
ネコが消えました。
続いて、使用するスプライトを読み込みます。ここでは、宇宙船は「Rocketship」、弾は「Ball」、ロボットは「Robot」を読み込みます。まず、宇宙船「Rocketship」を読み込みます。右下の「スプライトを選ぶ」ボタンをクリックしましょう。
「スプライトを選ぶ」が表示されますので、「Rocketship」をクリックして選びます。
宇宙船が読み込まれました。
続いて、宇宙船と同様の手順で、弾「Ball」と、ロボット「Robot」も読み込みます。
④コードの作成
コードを作成するときは、スプライトごとにブロックを組み合わせてプログラムを作成します。スクラッチでは、ブロックを組み合わせたものをコードとよびます。
右下のスプライトリストにあるスプライトのアイコンをクリックすると、そのスプライトのプログラムを作成できます。クリックしたあと、コードエリアの右上に宇宙船のアイコン(赤丸の部分)が表示されているかを確認します。
中央のコードエリアにブロックを並べていきます。ブロックはカテゴリーごとに分類されています。カテゴリーボタン(赤丸の部分)をクリックし、それぞれのカテゴリーから必要なブロックをコードエリアにドラッグして並べていきます。
また、スクロールバー(青丸の部分)をドラッグして必要なブロックを探すこともできます。
宇宙船のコードができました。
次に、弾のコードを作成します。右下のスプライトリストの弾のアイコンをクリックし、コードエリアの右上に弾のアイコンが表示されていることを確認し、ブロックをコードエリアに並べていきます。
弾のコードができました。
最後に、ロボットのコードを作成します。右下のスプライトリストのロボットのアイコンをクリックし、コードエリアの右上にロボットのアイコンが表示されていることを確認し、ブロックをコードエリアに並べていきます。
ロボットのコードができました。これで、3つのスプライトのコードが作成できました。
ゲームを動かしてみよう!
ゲームが完成したら、右上にある緑色の旗のボタンをクリックしてゲームを動かして遊んでみましょう。
← →キーで宇宙船を動かし、スペースキーで弾を発射します。なお、ゲームを終了するときは、緑色の旗のボタンの隣の赤色の丸のボタンをクリックします。
【中級編】スクラッチ(Scratch)のゲームをアレンジしてみよう
作成したゲームをアレンジしてみましょう。いろいろなアレンジがありますが、ここでは得点を付けてみます。ロボットに弾が当たったら1点得点するようにします。なお、弾はロボットを貫通しますので、ロボットに弾が触れている間、得点が加算されます。
その仕組を作るときには、変数を使います。
変数の作成で「得点」をつけよう
変数で「得点」を作成します。変数とは数や文字を入れる箱のようなものです。画面左側にある変数のカテゴリボタン(青い円で囲ったオレンジ色のボタン)をクリックし、次に「変数を作る」ボタン(赤い円で囲ったところ)をクリックします。
「新しい変数」画面が表示されますので、「得点」と入力し、「すべてのスプライトラジオボタン」をクリックして、最後に「OK」ボタンをクリックします。
変数が作成され、画面右上にあるステージの左上部分に「得点」が表示されました。
コードを修正して得点の仕組みを作ろう
ここでは、ロボットのコードを修正して、ロボットに弾が当たったら得点されるようにします。なお、ゲームを開始するたびに、得点が0にリセットされるようにします。ロボットのアイコンをクリックして、ロボットのコードを表示させましょう。
ロボットのコードを修正します。「得点を0にする」ブロックと「得点を1ずつ変える」ブロックを追加します。
ゲームを動かしてみよう!
ゲームが完成したら、右上にある緑色の旗のボタンをクリックして、ゲームを動かして遊んでみましょう。ロボットに弾があたると得点が増えることを確認しましょう。
ここで紹介したゲームは下記のURLにアクセスするとダウンロードできます。
- https://scratch.mit.edu/projects/531192905/
- https://scratch.mit.edu/projects/531193474/
まとめ
今回は、親しみやすいテーマとしてゲームを選び、スクラッチの雰囲気を掴んでもらえるよう解説をしました。スクラッチに限らず、プログラミングの上達のコツは、プログラムを沢山作成することにあります。プログラミングの経験をしながら、アルゴリズムやプログラムに関する知識を深めて行くことが上達への近道です。
本格的に学びたい場合は教室学習がおすすめです。代表的な子ども向けプログラミング教室には「LITALICOワンダー」があります。ゲームやアプリをつくる「ゲーム&アプリプログラミングコース」や、ロボットをつくる「ロボットクリエイトコース」などが用意されており、プログラミングを通して「ものづくり」をする力を育むことができます。
東京、神奈川、埼玉に18カ所で展開。オンライン教室もあり、自宅で学習したい方や遠方で教室に通えない方、海外在住の方も受講可能になりました。講師は技術面だけでなく子どもとの関わり方などについても社内研修を受けているので、プログラミングの知識はもちろん子どもたちへの柔軟な対応も安心して任せられます。年に1度、全国のLITALICOワンダーに通う子どもたちから参加者を募り、作品を発表しあう「ワンダーメイクフェス」も好評です。
※Scratch(スクラッチ)[ウェブアプリ、パソコン・タブレット用アプリ]。Scratchは、MITメディア・ラボのライフロング・キンダーガーテン・グループの協力により、Scratch財団が進めているプロジェクトです。https://scratch.mit.eduから自由に利用できます。