親子でプログラミングをするのにおすすめな『SCRATCH(スクラッチ)』を紹介しました。
↑こちらのSCRATCHの紹介記事ではSCRATCH(スクラッチ)でゲームを作ってみることをおすすめしています。
そこで今回は、SCRATCH(スクラッチ)でゲームをつくるときのポイントを3つ紹介したいと思います。
はじめての小学生の子にはちょっと難しいかもしれませんが、ココさえおさえておけばプログラミングの可能性が格段に広がると思いますよ!
SCRATCH(スクラッチ)でつくるゲーム
こちらは【スクラッチのはじめ方】親子で簡単にプログラミングを学ぶコツ!という記事で紹介したときの動画で、画面内を動き回る『黄色いボール』を下に落ちないように『緑色のバー』で跳ね返すというプログラムです。
かなり味気ないですが、ぱっと見なんだかゲームっぽいですよね?
ただし、このプログラムは”ゲームもどき”で未完成のものです。
そこでこのプログラムを題材にゲームらしくなる要素を紹介しながら完成させていこうと思います。
サンプルコードの紹介
SCRATCH(スクラッチ)のプログラムとして書いている内容はこれだけです。
- 緑色の旗ボタンを押すとボールが飛び出す。
- ボールが壁や緑色のバーに当たると跳ね返る。
- パソコンの右矢印か左矢印ボタンを押すとバーが動かせる。
実際のSCRATCH(スクラッチ)のコードは下のイメージ図の通りです。ほんの5分くらいでつくることができます。
もし、SCRATCH(スクラッチ)に触ったことがないけど?という方は【SCRATCH(スクラッチ)のはじめ方】親子で簡単プログラミング入門!を読んでみてください。
プログラムをかんたんにゲームらしくする3つのポイント
先ほど紹介したSCRATCH(スクラッチ)のプログラムがゲームらしくなるポイントは2つあります。
そして、さらに味付けできるネタを含めて3つ解説していきます。
ゲーム作りのポイント①:キー入力操作でインタラクティブにする
もともと画面にある緑のフラグと赤い丸ボタンでプログラムの開始/停止ができますが、これだけではどんなプログラムをつくっても動画(アニメーション)を見ているのと同じで、ゲームにはならないですよね。
では、どうすれば動画(アニメーション)と違ってゲームっぽくなるのでしょうか?
それは、コントローラーで自分で操作できることです。パソコンであればキーボード入力ですね。
SCRATCHでは水色の『調べる』に『”スペースキー”が押された』というブロックがあります。この”スペースキー”は他のアルファベットのキーや矢印キーに変更することができます。
黄色の『制御』にある『ずっと』『もし〜なら』と組み合わせることでプログラム動作中に操作できるコントローラを再現できます。
ゲーム作りのポイント②:乱数を使って動きをランダム性
せっかくコントローラができても、敵だったり周囲の環境が決まりきった動きしかしないと飽きてしまいますよね?
ですが、いろんな動きを用意するというのは大変ですよね。
そんなときに使えるのが「乱数」というものです。
乱数は、サイコロを振るようなもので、ある指定した値の範囲からランダムに数字が決められます。
この乱数を組み込むことで、同じプログラムなのに毎回違った結果になる、いっきにゲーム性が増して面白くなります。
ゲーム作りのポイント③:変数をつかってステータス(状態)を変える
このプログラムをさらにゲームらしくするには、どうしたらよいでしょうか?
ぱっと思いつくものでも、スコア表示があったり、難易度のレベルが変わったり、いろいろな工夫ができそうです。
プログラム内の設定値を変更したり表示したりする。そんなことができるのが『変数』です。
オレンジ色の『変数』から、レベル、スコア、ハイスコアという3つの変数を作って見ましょう。それら3つの変数を下のイメージ図のように『ずっと』『もし〜なら』と組み合わせていけば、
- 経過時間とともにスコアアップしていく。
- 10秒経過するごとにレベルアップしていく。
- ハイスコアを更新、記録していく。
といったことができるようになります。
レベルに応じてボールの動くスピードを変えるには、ボールのコードも次のイメージ画像のように変更してみましょう。
これで、ゲーム”もどき”だったプログラムがだいぶゲームになってきたのではないでしょうか。
さいごに
今回はSCRATCH(スクラッチ)のプログラムでゲームを作る上で役立つ簡単なネタを3つ紹介しました。
- キー入力操作
- ランダム動作
- 変数によるステータス変更
あとはこれらを発展させていくだけである程度の規模のゲームプログラムがつくれると思います。ぜひお子さんと取り組んでみてはいかがでしょうか?
また、今回紹介しているSCRATCH(スクラッチ)のプログラムで使われている基本的な構文については【SCRATCH】もし(if) と ずっと(for) の簡単な使い方!を参考にしてもらうと理解が深まると思います。