コンテンツへスキップ

小学生のための簡単「寿司打」の作り方

最終更新日:2024年3月19日

今日のポイント

① タイピングする文字は、コスチュームの「名前」を利用する
② タイピングする文字は、リストを使ってプログラムをスッキリさせる

【はじめに】完成した作品を見る

【考え方】作品の全体像を理解する

主なスプライト

今回使用するスプライトは、①「寿司のネタ」と②「画面に表示するテキスト」だけです。「寿司のネタ」のスプライトが特に重要です。

sushida1

①「寿司のネタ」のコスチューム

「寿司のネタ」のコスチュームは、次のように3つ(えび、たまご、てっかまき)用意しました。コスチュームの名前は小文字のアルファベットにしましょう。コスチュームの「名前」を、タイピングします。

suhida2

②「画面に表示するテキスト」のコスチューム

ゲームを始めたとき、コスチューム「スタート」を表示します。タイピングに失敗すると、「ゲームオーバー」を表示します。

sushida3

スプライト間のイベント

スプライトのイベントの関係を示した図です。「メッセージ」を出す側と、「メッセージ」を受け取る側をよく確認しておきましょう。今回は、「次のネタを出す」というメッセージを理解することが重要です。

「次のネタを出す」というメッセージは2か所から送られています。それは、「スペースキーが押されたとき」と「ネタの名前を全てタイピングし終わったとき」です。

そして、メッセージ「次のネタを出す」は2か所で受け取っています。1つ目は、「次のネタを表示してスプライトが右に移動していく」スクリプトです。2つ目は、変数「次にタイピングする文字のリスト」「次にタイピングする文字」をセットしています。

メッセージを受け取るスクリプトは1つにまとめてもいいですよ。私は、「スプライトの移動」と「変数のセット」を分けたほうが見やすいと思ったので、メッセージを2か所で受け取り「移動」と「変数のセット」を別々のスクリプトに記述しました。

event

3-middle-moshimo-ad-scratch1

【プログラミング】してみよう

変数を作成する

まずは、変数を用意しましょう。今回使用した変数は6個です。その内の1つはリストです。

No変数名変数の
種類
使い方どんな値が入る?
1インデックス変数
全てのスプライト用
リスト内の何番目の要素を指しているか判別するため1からリスト内の要素の数まで
2タイピングした文字変数
全てのスプライト用
プレイヤーがキーボードから入力した文字を入れるa、b、c、・・・z まで
3次にタイピングする文字変数
全てのスプライト用
変数名の通り同上
4失敗した回数変数
全てのスプライト用
変数名の通り数字
ゲームを開始したときは0にする
5成功した回数変数
全てのスプライト用
変数名の通り同上
6次にタイピングする文字のリストリスト
全てのスプライト用
次にタイピングする寿司のネタの文字列を、リストに一文字ずつ入れたものゲームを開始したときは
e
b
i

すべてのプログラム

①「寿司のネタ」のプログラム

1-1

「次のネタを出す」を受け取ったとき、のプログラムは難しいと思います。詳しく知りたい人は、ぜひオンラインレッスンを受けてみてください。

1-2

「a」キーが押されたとき、は「z」キーが押されたとき、まで用意します。コピペや「複製(ふくせい)」の機能を使って量産しましょう。

1-3
1-4

②「画面に表示するテキスト」のプログラム

2-1
2-2

【リミックス】してみよう

寿司のネタを追加してみたり、制限時間を作ってみたり、好きなように改造してみよう。

scratch

ワンポイントアドバイス

変数の横にチェックボックスがあるのを知っていますか?チェックを入れると、ゲームの画面上に変数の中身が表示されるようになります。変数に何が入っているのかを確かめながら作ると、うまくいかない理由がわかることがありますよ。

scratch2

まとめ

コスチュームの名前や順番は、簡単に変えることができます。この特徴を使って、コスチュームの「名前」をタイピングするようにしました。こうすることで、簡単にタイピングする文字を変えられるようにしました。

変数には、「1文字目を削除する」といった文字を操作するブロックはありません。変数を使って文字の操作をしようと思うと、プログラムは複雑になり正しく動作しないかもしれません。一方で「リスト」を使えば、文字の操作が簡単になります。この機会に「リスト」を使ってみて、そのメリットを体験してみてください。

その他の人気ゲームの作り方

最終更新日:2024年3月19日

広告

最終更新日:2024年3月19日

コメントを残す

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

CAPTCHA