ゲームを作ろう ~ 4. ランダムタイピングゲーム(難易度★★☆)~
こんにちは、プログラミングキッズの三木です。こちらの記事では少し応用のあるゲームを紹介します。
今回はタイピングゲームを作成していきましょう。ランダムにアルファベットが表示され、だんだんスピードアップするゲームになります。
作るものを確認
まずは完成品を見てみましょう。緑の旗を押すと虫が説明をし、その後アルファベットを1文字言います。そのアルファベットをなるべく早く打ち込むゲームになります。
それでは、スクラッチの開発画面を開きましょう。
https://scratch.mit.edu/projects/editor/
スプライトと背景
スプライトはもとのねこと、Beedleを用意しましょう。
背景はCatstle 2、Garden-rock、Beach Rio、Catstle 3を追加しましょう。もとの背景は削除しましょう。
それではプログラムを作っていきましょう。
問題の設定
タイピングの問題を設定します。リスト機能を使っていきます。リストを作るボタンを押して、「文字一覧」と名前を付けます。
リストのブロックの中に「文字一覧の全てを削除する」ブロックがあります。これを緑の旗ブロックにつけます。これはゲーム開始時にリセットする役割です。
~を文字一覧に追加するブロックを用意します。言葉は何でもいいですが、今回はキーボード中段のアルファベットを入力します。以下のようにしましょう。
問題の設定はこれで終わりです。
Beetleの設定その1(スタート時の設定)
大きさを70、向きを‐90にします。向きは左右のみにします。
スタート時の位置、コスチュームを設定します。位置は右端にくるようになればOKです。
スタート時の合図になるように、「…と~秒言う」ブロックを用意して以下のようにします。
ここからは虫のスピードについて設定します。一定のスピードではなく、だんだん速くなるようにしたいので、変数ブロックを使います。変数を作るボタンを押して、「虫の速さ」と名前を付けましょう。虫の速さを1にする、と設定します。
メッセージブロックで、新しいメッセージで「スタート」を作り、スタートを送るブロックを用意します。
全体として以下のようになればOKです。
Beedleの設定その2 (スタートを受け取ったあとの設定)
メッセージのスタートを受け取ったときブロックを用意しましょう。その下に座標ブロックと、表示するブロックをつけます。座標は右側に位置するようにすればOKです。
動き出す前の説明を入れます。~と〇秒言うブロックを以下のようにしてみましょう。
変数ブロックの「虫の速さを0.1ずつ変える」ブロックを入れます。虫の速さを1にするとしていたので、クリアのたびに1.1、1.2、1.3…と変化していきます。
まで繰り返すブロック、~に触れたブロックを用意し、~をスプライト1(もとのねこ)にします。
繰り返すブロックの中に、動きの設定をいれます。-90度に向けるを入れ、その下に~歩動かすブロックを入れます。~歩のところは変数の値「虫の速さ」を入れます。最後一番下に全てを止めるブロックをいれます。
全体として以下のようになればOKです。
Beedleの設定その3 (虫が問題を出す設定)
スタート受け取ったとき、3秒待つブロックをつけて、出題のタイミングを調整します。
何問出すかの設定です。今回は4問出すため、4回繰り返すブロックを用意します。
どの問題を出すかの設定です。変数「問題」を作成し、変数ブロック「問題を〇にする」を入れます。〇には1~9までの乱数ブロックをいれます。9個(a~l)のうち、どれかが4回ランダム問題が選ばれます。
リストの値「文字一覧の〇番目」に、変数の値「問題」を合体させます。調べるカテゴリから「~と聞いて待つ」ブロックを用意し、組み合わせましょう。これで、虫が出題して回答欄が出現します。
次は正解・不正解の設定です。色々組み合わせるため、まずは以下のブロックを用意しましょう。
まず演算ブロックに、「文字一覧の問題番目」「答え」を入れます。
これを、もし~ならと組み合わせます。
ひとつめの空欄には何も入れず、”でなければ”の下に「間違えたと2秒言う」ブロックをいれます。これは、正解の時は何も起こらず、不正解のときは2秒のペナルティが発生します。
4回出題した後、ステージ切り替えをする仕組みを作るため、メッセージブロックで「次のステージへ」を作成し、一番下にセットします。
全体として以下のようになればOKです。
虫の設定の最後の仕上げです。4問クリアしたら虫の出題を停止し、コスチュームを変化させて待機させます。
これで虫の設定は全部終わりです。
スプライト1(もとのねこ)の設定(背景・切り替えの設定)
最初の位置、背景を設定します。
変数「ステージ」を作成し、ステージを1にするブロックをつけます。全体として以下のようになればOKです。
メッセージブロックで、「次のステージへ受け取ったとき」を用意します。その下に「~と〇秒言う」「次の背景へ」をつけます。以下のようにしましょう。
ステージ数を表示する設定をします。ステージを1ずつ変えるブロックをつけます。その下にメッセージブロック「スタートを送る」をつけます。
なお、表示させる変数はこちらで変更できます。
全体として以下のようになればOKです。これでランダムタイピングゲームが完成です。
今回はランダムタイピングゲームを作りました。リストやメッセージ機能をゲーム作りで活用してみてください。
よりスクラッチを学びたい方は、以下の体験会にいつでもご応募ください!