目次

はじめに
第1章 Scratch概要
1.1 Scratchとは
1.2 Scratchの環境
1.3 Scratchに触ってみよう
1.4 Scratchの各部位の名称について
1.5 第1章の終わりに
第2章 1文字タイピングゲーム
2.1 1文字タイピングゲームのメインプログラム
2.2 デコレーション、タイマー・点数の作成
2.3 第2章の終わりに
第3章 文字列タイピングゲーム
3.1 プログラミングの基本方針
3.2 Scratchの起動
3.3 スプライト(キャラクター)の設定
3.4 背景の設定
3.5 初期設定に関するプログラミング
3.6 文字列とタイピングのプログラミング
3.7 動物キャラクターのプログラミング
3.8 デコレーション(点数・タイマー・音楽)
3.9 単語数を増やす方法
3.10 本章の終わりに
終わりに

はじめに

 近年、IT・プログラミングの分野は急速に発展しています。
この時代の流れに沿うように、IT教育も盛んになってきています。IT教育に活用できるツールとして、「Scratch」が子供でも扱うことができるプログラミング環境として注目されています。

 筆者は、自分の子供にIT技術の素養を身につけさせたいと思い、まず筆者自身がScratchを習得しました。
そして、家族で勉強会を毎週開催し、子供と楽しく勉強しています。

 この家族勉強会の一環としてScratchでタイピングゲームを作ったところ、当時小学1年生だった筆者の子供がタッチタイピングを習得することができました。
それから数年たった今では、大人顔負けのスピードでタイピングをしています。

 自分の子供にタッチタイピングを習得させたいという親御さんは、筆者以外にも多くおられると思います。その皆様にとって、筆者と筆者の子供が経験したプロセスは有益な情報だと思い、本書にまとめることにしました。

 本書は、子供にタッチタイピングを習得させたい親御さん向けの本です。お子さん向けの本ではないことにご注意ください。内容のレベルは、Scratchを触ったことがない入門者・初心者の方でも習得できるものにしています。

 本書の内容は、Scratchの概要および基本操作、そして1文字タイピングゲームおよび文字列タイピングゲーム作り、についてまとめたものです。本書により、Scratchで1文字タイピングゲームと文字列タイピングゲームを自作できるようになります。

 筆者の子供がタッチタイピングを習得できたのも、1文字タイピングゲームと文字列タイピングゲームで何度も遊んだからです。

 親が作ったゲームを子供はとても喜んで遊んでくれます。ぜひScratchでタイピングゲームを作って、お子さんに遊ばせてみてください。

第1章 Scratch概要

 本章では、Scratchについて解説します。
Scratchをすでに触ったことがある方は、次章まで読み飛ばしても大丈夫です。

1.1 Scratchとは

 Scratch(スクラッチ)は、Scratch財団がマサチューセッツ工科大学メディアラボ ライフロングキンダーガーデングループと共同開発している、子供でも扱える無料の教育プログラミング言語およびその開発環境です。

 次の画像が、実際にプログラムを作成するためのコーディング画面です。

図1.1: コーディング画面

 画面左にさまざまなブロックが並んでいます。このブロックには色々な命令が書かれています。
このブロックを次の画面のように中央の枠にドラッグアンドドロップして移動させ、命令を繋げていくことで、プログラミングができるという仕組みです。

図1.2: コーディング画面説明

 Scratchは命令文を暗記する必要はなく、ほとんどタイピングしなくてもプログラミングできるため、子供でも扱うことができる素晴らしいプログラミング環境です。

 Scratchのようなブロックを用いたプログラミング環境を、「ビジュアルプログラミング」と言います。

 一方、VBAやPythonのように命令文をタイピングして書いていくようなものを「テキストプログラミング」と言います。

 Scratchはテキストプログラミング環境ではありませんが、プログラミングの最重要要素である「条件分岐」「繰り返し」を学ぶことができます。
さらに、「変数」「リスト(配列)」など、やや難しい内容も実装できます。
プログラミングを学ぶ上で必須の内容をすべて学べるといっても、過言ではありません。

1.2 Scratchの環境

 さて、2023年8月現在、Scratchにはインターネット上のWebサイト版と、PCにダウンロードして使うデスクトップアプリ版の2種類あります。

1.2.1 Webサイト版

 Webサイト版は、次のURLにWebブラウザーからアクセスすれば、いつでも誰でも使用できます。
https://scratch.mit.edu/

 次の画面がトップ画面です。

図1.3: Webサイト版のScratch

 そのまますぐに使うことができますが、作成したデータをWeb上に保存したい場合は、サインインする必要があります。

 はじめてサインインする方は、画面右上の「Scratchに参加しよう」からユーザー登録をする必要があります。画面にしたがって登録してください。

図1.4: Scratchに登録

 サインインすると、次の画像のように右上にユーザー名が表示されている状態になります。

図1.5: サインイン状態

 本書では、このWebサイト版をサインインした状態の環境を使用します。

1.2.2 デスクトップアプリ版

 デスクトップアプリ版は、Microsoft Storeでダウンロードできます。

 2023年8月現在、「scratch」で検索すると、次の画像に示す「Scratch3」が表示されます。これがデスクトップアプリ版のScratchです。

図1.6: サインイン状態

 デスクトップアプリ版は、Webサイト版に比べて一部の機能(バックパック等)が使えません。ただし、これら機能はScratch中級者以上向けの機能であり、本書では取り扱いません。

 Webサイト版、デスクトップ版のどちらを使っても問題ありませんが、本書では前述の通り、Webサイト版の画面で解説します。

1.3 Scratchに触ってみよう

1.3.1 ネコに話をさせる

 早速Scratchのサイトに行き、サインインしてから、「作る」ボタンを押してください。

図1.7: Scratchトップページ

 このような画面が表示されます。

図1.8: Scratchウィンドウ

 はじめて起動するときは、英語表記がデフォルトで起動する可能性があります。英語表記で起動したら、言語設定をしましょう。

 次図の通り、Scratchの初期画面のメニューバーに「Settings」があるので、この中の「Language」を「日本語」にします。
なお、お子さんがScratchを使う場合には、「にほんご」を選択してもよいと思います(本書は言語設定を「日本語」にした前提で解説します) 。

図1.9: 英語表記を日本語表記に意変更

 さて、一番左にあるカラフルな丸いボタンの中に「イベント」というボタンがあるので、クリックしてください。
そして、[旗が押されたとき]のブロックを、中央の白い部分にドラッグアンドドロップしてください。

図1.10: 旗が押されたときの場所
図1.11: 旗が押されたときを追加

 続いて、左のカラフルな丸いボタンの中の「見た目」をクリックし、[こんにちはと2秒言う]をドラッグして中央に持ってきてください。
ここで、先ほど中央に置いた[旗が押されたとき]の真下に移動し、くっつけてください。

図1.12: こんにちはと2秒言うの場所

 さらに、同じ画面で[うーんと2秒考える]も、ドラッグアンドドロップしてください。

図1.13: うーんと2秒考えるを追加

 これでプログラミングできました。
早速動かしてみましょう。

 ゲーム画面の上にある緑の旗のボタン(:「実行」ボタン)を押してください。
すると、ゲーム画面のネコが「こんにちは!」と2秒言った後、「うーん」と2秒悩みます。

図1.14: 実行

 このように[旗が押されたとき]をスタート地点として、繋げたブロックが上から順番に実行されていきます。

 このようにプログラムすることができる仕組みが、Scratchです。

1.3.2 ゲームプログラミングの特徴(恒常ループとキー入力検出)

 ゲームプログラミングについても解説します。
プログラミングの中でも、「ゲームプログラミング」には特徴があります。それは「人間のキー入力」があるということです。

 ゲームは、プログラムが所定の動作をして終了するものではありません。プログラムの途中で人間のキー操作を検出し、それをフィードバックして結果を変化させる必要があります。

 これを実現する仕組みが、「恒常ループ」と「条件分岐」になります。

 先ほどのプログラムに、次のように手を加えてください。

 まず、「制御」の中から[もし…なら、でなければ]をドラッグし、[こんにちは!と2秒言う][うーんと2秒考える]の真上に移動してください。
そして、ふたつのプログラムが挟み込まれるようになったところでドロップしてください(次図参照)。

図1.15: もし

 成功すれば、次図のようにふたつのプログラムが[もし]の中に挟まります。失敗したらctrl+zで元に戻し、もう一度実施しましょう。

図1.16: もし

 さらに、[うーんと2秒考える]をドラッグし、すぐ下の[でなければ]の位置に挟まるようにドロップします。
成功すれば次図のようになります(失敗したらctrl+zで戻し、再び移動させましょう)。

図1.17: もし

 そして、「調べる」の中から[スペースキーが押された]を見つけ、これを[もし]の6角形の枠に入れてください。

図1.18: スペースキー入力

 これでスペースキーを押したら「こんにちは!」、押していなければ「うーん」というプログラムの完成です。

 では、さっそく旗を押して実行してみましょう。

図1.19: うーん

 上記の図のように、「うーん」と言いますが、スペースキーを押しても何の変化もしません。
ただし、スペースキーを押しながら旗を押すと、「こんにちは!」と言います。

 これは、プログラムは上から順番に1度だけ実行されるため、旗が押された直後しかスペースキーの入力判定が行われず、このような動作となったものです。

 そこで、さらにこのプログラムを[ずっと]で囲います([ずっと]は「制御」の中にあります。次図参照)。

図1.20: ずっと

 プログラムの改造が終わったら、旗を押し、スペースキーを長押ししてみましょう。

図1.21: こんにちは

 スペースキーを長押しして待っていると、「うーん」から「こんにちは」にセリフが変わります。

 このように[ずっと]でプログラムを囲むと、プログラムが[ずっと]の一番下まで進んだときに、一番上まで戻るようになります。この中で、人間のスペースキー入力を検出できるようになります。

 プログラミング経験のある方は、[ずっと]による無限ループに違和感があったかもしれません。
しかし、ゲームプログラミングでは無限ループを作り、その中で条件分岐を用いて人間のキー入力を検出させることは、よく用いられる手法です。
ゲームプログラミングでは、この無限ループのことを「恒常ループ」と言います。

 Scratchでゲームを作る際に「ずっと(恒常ループ)」「もし(条件分岐)」の組み合わせは非常に多く登場します。本書のタイピングゲームも、この仕組みを使います。
筆者は、この組み合わせを 「ずっともしもしパターン」 と呼んでいます。

 なお、このプログラムは恒常ループ(「ずっと」)を有するため、永遠に動き続けてしまいます。
Scratchでプログラムを停止するためには、実行ボタンの隣の赤い丸のボタン(停止ボタン)を押してください(次図参照)。このボタンを押すと、Scratch上のすべてのプログラムを停止できます。

図1.22: 停止方法

1.3.3 プログラムブロックの削除方法

 プログラムを作っていくうちに、プログラムの部品を削除したくなることがあります。

 この場合、次の図のように削除したいプログラム部品をドラッグし、左のプログラム部品の枠にドロップすると、削除できます。

図1.23: 削除方法

1.3.4 プログラムの保存方法

 作ったプログラムを保存してみましょう。

 ウィンドウ右上に「直ちに保存」という文字が表示されている場合、これをクリックしてください。

図1.24: 保存方法

 もしも表示されていなくても安心してください。Web版Scratchは数分ごとに自動保存される機能があるので、この本を読んでいる間に自動保存されたのだと思います。

 それでも、自動保存はちょっと不安があると思います。
この場合、Ctrl + Sボタンを押してください。
ウィンドウの右上に「プロジェクトを保存中…」と表示され、すぐに「プロジェクトが保存されました」と表示されます。

図1.25: 手動保存

 これで、ScratchのWebサイト上に保存されました。

 この保存機能では、Scratchサーバー上にデータが保存されます。そのため、サインインした状態でなければこの保存機能は使えませんので、ご注意ください。

1.3.5 保存したプログラムを開く方法

 保存されたプログラムを開くには、次のような操作を行います。

 まず、ウィンドウ左上の[SCRATCH]ボタンを押してください。

図1.26: トップ画面に移動

 トップ画面に戻りましたね。
ここから、先ほど保存したファイルを開く作業を行ってみたいと思います。
まず、右上のフォルダーボタンを押してください。

図1.27: フォルダーボタン

 フォルダーボタンを押すと、過去に自分が作ったScratchのプログラムファイルが表示されます。
そして開きたいファイルの名前をクリックし、次の画面の右上の[中を見る]をクリックしてください(次図参照)。

図1.28: ファイルの開き方

 これで、先ほど保存したファイルを開き、プログラム画面に帰ってくることができました。

 なお、先ほどの画面で直接ゲームを遊ぶことができます。
次章のタイピングゲームを作ったら、この画面の旗を押して遊んでみてください。
旗はゲームウィンドウの左上と、ゲームウィンドウ中央のどちらを押してもOKです(次図参照)。

図1.29: 保存したゲームで遊ぶ

1.3.6 パソコンにプログラムデータを保存し、再度開く方法

 お使いのパソコンにプログラムデータを保存する方法もあります。
Scratchのプログラム画面から「ファイル」⇒「コンピューターに保存する」をクリックすれば、「.sb3」ファイルとして保存できます。

図1.30: パソコンに保存

 この「.sb3」ファイルは、Scratchのプログラム画面から「ファイル」⇒「コンピューターから読み込む」で開くことができます。

図1.31: パソコンから読み込み

1.4 Scratchの各部位の名称について

 今回体験した通り、Scratchは左の枠からプログラムを取り出し、中央にプログラムを書いていきます。
本項では、Scratchの各部名称を解説します。

 Scratch中央のプログラムを書く部位を「スクリプトエリア」と言います。

図1.32: スクリプトエリア

 プログラムの素材(ブロック)は画面の一番左にあります。ここを「ブロックパレット」と言います。
このブロックの中から実行したいコードを探し、真ん中にドラッグアンドドロップしてプログラミングします。

図1.33: ブロックパレット

 右上の枠が実際に作ったプログラムが動く場所です。ここを「ステージ」と言います。

図1.34: ステージ

 プログラミング中は画面が小さい方が便利ですが、本格的に遊ぶときには右上の[全画面表示]ボタンをクリックすると、大きな画面で遊ぶことができます。

図1.35: 全画面表示ボタン

 その他にもScratchには色々な機能がありますが、一気には覚えられられないため、ゲームを作りながら少しずつ覚えていけばいいと思います。

1.5 第1章の終わりに

 Scratchは、ブロックを繋げていくだけでプログラミングできます。そのため、Scratchを習得するための労力は他のプログラミング言語に比べて、かなり小さいと思われます。

 しかも、本章で紹介した「ずっと」「もし」はプログラミングの基礎である「繰り返し処理」「条件分岐」そのものです。

 筆者の子供も 「ずっともしもしパターン」 の愛称と共にゲームを何個も作成し、繰り返し処理と条件分岐のことを完全に理解しました。

 本書は親御さん向けの本ですが、本屋さんには子供向けのScratchの本が多く販売されています。幼稚園高学年くらいのお子さんからScratchでプログラミングできますので、ぜひ挑戦してみてください。

試し読みはここまでです。
この続きは、製品版でお楽しみください。