『scratchでじゃんけんゲームの作り方は?』
『Scratchで簡単なゲームを作る方法は?』
『小学生、中学生のプログラミング初心者におすすめのゲームは?』
と気になる方もいらっしゃいますよね。
今回は、プログラミング教室を運営する筆者が、スクラッチでコンピュータとじゃんけんで対戦する本格的なゲームを作の作り方を解説します。
じゃんけんゲームは、子どものプログラミング学習に欠かせない、基礎的な技術がふんだんに使われており、必ずと言っていいほど取り組んでおきたいゲーム作りです。
具体的には、メッセージを送る・受け取る、ランダムでの表示、条件分岐、変数の設定などをしていきます。
一見、言葉だけを聞くと、難しく聞こえますが、一つ一つステップを踏んでいけば、小学生3年生頃から中学生であれば、作れるようになります!
ITに詳しくない親御さんでも教えることができるので、ぜひ挑戦してみてください!
小学生、中学生のプログラム入門教材は『scratchなび』で!
子どもの習い事図鑑が運営する『scratchなび』では、スクラッチを使った教材が無料ダウンロード・印刷ができます。
この記事の目次
まずはscratchじゃんけんゲームで遊んでみよう!
まずはスクラッチで作ったゲームで遊んでイメージを沸かせてみましょう!
1.緑の旗を押す
2.猫をクリック
3.グー、チョキ、パーを選択
実際にゲームで遊んだら、どうやったら作れるか想像してみましょう!
じゃんけんプログラムの設計を紙に書いてみよう!
画面ができたら、これから、じゃんけんのプログラムを作っていきます。
\ここでポイント/
scratchでプログラミングをするときには、「どんな技術が必要になるか?」の予想をまずは、紙に箇条書きで描いてみましょう!
例えば、
・勝ち負けの判定が必要になるな..
・相手にグー、チョキ、パーをランダムに出す必要があるな..
というイメージです。
この事前に、大枠を設計することが論理的思考能力を高めていくことになります。
この作業をせずに、進めていくと、頭の中が整理できずに、上手く作れなくなってしまうことが良くあるのです。
じゃんけんのゲーム画面を作る
まずは、表示する「スプライト」を配置していきます。
素材の用意
今回、必要な素材は次のとおりです。
- 自分のキャラ(ストライプ)
- 相手のキャラ(ストライプ)
- グー、チョキ、パーの画像
自分のキャラと相手のキャラは、Scratchの画像から好きなものを選びましょう。
グー、チョキ、パーの画像はScratchの画像集にはありませんので、自分で用意する必要があります。
下の画像を右クリックして「画像を保存」を選択してダウンロードしてください。
もちろん、自分で描いたり、写真を撮ってもよいでしょう。
ダウンロードしたら、スプライトをアップロードします。
スプライトの配置
まずは、使用するスプライトを配置します。
相手はScratchの中にあるスプライトから選びます。
今回は、イヌを選択していますが好きなものを選んで大丈夫です。
相手のイヌは逆向きですので、反対にしましょう。
角度を変えた後、反転ボタンを押すことでうまく変更できます。
全てのスプライトを置くと次のような配置になりました。
背景のセット
最後に背景をセットしましょう。
右下の「ステージ」から「背景を選ぶ」を選択します。
好きな背景を選びましょう。
ここでは、例としてサッカー場を選んでみます。
ゲーム画面完成!
最後に、位置を微調整して整えます。
スタジアムで向かい合う2人になりましたね。
変数を作ろう!
まずは「変数」を作成します。
変数は、ゲームにおける「状態」を覚えておくためのものです。
このゲームでは、主に自分と相手の出す手を覚えておくために使います。
「変数を作る」というボタンを選ぶことで、新しい変数を作ります。
変数の名前を入れることで、新しく変数を作ります。
このとき、「全てのスプライト用」を選択することを忘れないでください。
作成する変数は次の3つです。
変数名 | 説明 |
---|---|
じぶん | 自分が出すじゃんけんの値 |
あいて | 相手が出すじゃんけんの値 |
じゅんびOK! | 1になった時だけ、グー・チョキ・パーを選べるようにする (変なタイミングでグー、チョキ、パーが選ばれないようにする) |
変数を作ると、このように変数の中身が表示されます。
scratchではじゃんけんの手を数字で考える
プログラミングの世界では、いろんなことを数字で考える必要があります。
このゲームでは、
グー:1
チョキ:2
パー:3
として考えていきます。
この物事を数字で考えるということがプログラミングでは重要になるので、ポイントを押さえておきましょう!
では、まずは、グー、チョキ、パーのコードを作っていきましょう。
グー、チョキ、パーが選ばれた時の動きをプログラミング
ネコとイヌのスプライトに対して「自分が押されたよ」ということを教えてあげるような処理を作ります。
まずは、スプライトから「グー」を選びます。
そうすると、グーのスプライト用のコードエリアに変わります。
さっきまで書いていたコードがなくなったわけではありませんので安心してください。
グーのコードを次のように作成します。
メッセージを作る
Scratchでは「メッセージ機能」を使うことで他のスプライトと状態のやりとりを行います。
ここでは、「ネコとイヌにグーが押されたことを知らせる」という処理を作っています。
送るメッセージはブロックの選択肢から「新しいメッセージ」を選ぶことで新しく作ります。
グーができたら、同様にチョキとパーも作ります。
【スクラッチ】メッセージ機能の使い方!-scratchなび-
チョキのコードの作り方
パーのコードの作り方
ネコのコードを作る
次に、グー、チョキ、パーからメッセージを受け取ったときの処理を作ります。
まずは、全体像を見てみましょう。
メッセージを受け取ったときのプログラム
上半分では、グー、チョキ、パーのどれかが押された時の処理を並べています。
それぞれ、次のような内容のコードです。
グー(1)が押された場合・・・
- 相手がチョキ(2)なら勝ち
- 相手がパー(3)なら負け
チョキ(2)が押された場合・・・
- 相手がパー(3)なら勝ち
- 相手がグー(1)なら負け
パー(3)が押された場合・・・
- 相手がグー(1)なら勝ち
- 相手がチョキ(2)なら負け
ブロック定義
次は、下半分でブロック定義を作っていることに注目します。
Scratchでは、何回も実行するような処理をまとめて、
一つのブロックとして定義することができます。
今回の場合、選んだ内容や勝ち負けのときのメッセージを一つにまとめています。
もし、このブロック定義を使わない場合、同じ処理をたくさんの場所へ記載する必要があります。
ブロック定義を活用することで、使用するブロックの数を減らして見やすいコードにできます。
相手(イヌ)のコード
次に、相手(イヌ)のコードを作っていきます。
ネコと同じ要領で作っていきましょう。
ネコが選ばれた時にスタートする
ネコを選んだらゲームが始まるようにします。
乱数を使って相手の手を決める
ここで、「1 から 3 までの乱数」というコードを作ることで、
相手(イヌ)がグー・チョキ・パーのどれを出すかをランダムに決定します。
これによって、ゲームが始まるまで相手が何を出すのかわからなくなります。
乱数は、サイコロをふることをイメージしてください。
じゃんけんゲームの場合、1〜3までしかないサイコロをふって相手の手を決めると考えましょう。
ゲーム開始時のメッセージを表示しよう
実際にこのゲームを遊ぶ人が
「ネコを押すことでゲームが始まる」とは分かりません。
そのため、起動時にネコを選んでくれるように誘導しましょう。
ゲームができた時点でのネコのコード
ここまででできたネコのコードを確認します。
間違っていないか確認しましょう。
ゲームで遊んでみよう
ここまでできたら、ゲームとしてはひとまず完成ですので、
きちんと遊べるか試してみましょう。
このとき、次の条件で思った通りの動きをするか確認をしましょう。
・勝った場合
・負けた場合
・あいこの場合
相手が出す手は、左上の「あいて」という変数で分かりますので、
「相手が1の場合はグーなので、自分はパーを選べば勝てる」
というようにすることでそれぞれのパターンを確認できます。
応用編:もっとゲームらしくしよう
ここまでできたら、じゃんけんができるようになっているはずです。
今度は、次ステップとして、もっと「ゲームらしい」動きをつけてみましょう。
変数の非表示
相手が出す手が見えたままではゲームとして面白くありませんので、これらを隠すようにします。
変数の中にある「変数○○を隠す」を選びましょう!
効果音をつけてみる
勝った時と負けた時のそれぞれに効果音をつけるだけで、
ゲームらしさが出てきます。
音は、メニューから「音」を選ぶことで追加できます。
それらしい音を足してみるとよいでしょう。
選んだ手を動かす
「何を選んだか」が分かるようになるだけでも、ゲームらしさが一気にアップします。
たとえば、選択されたらちょっとだけ動かすだけでも雰囲気が変わります。
まとめ:じゃんけんゲームでプログラミングの基礎を身に着けよう!
今回は、コンピュータと対戦できるじゃんけんゲームの作り方を紹介しました。
もっとゲームらしくするための方法は他にも色々ありますので、自分のアイディアを足して自由にアレンジしてみましょう。
ここで紹介した「乱数」と「メッセージ」は、ゲームを作る上では重要ですので、
ぜひ使い方をマスターしてオリジナルのゲーム作りにチャレンジしてください。
小学生、中学生のプログラム入門教材は『scratchなび』で!
scratchなび | 子どものプログラミング教材無料ダウンロードサイト
スタペンドリルTOP | 全学年から探す
幼児 | 運筆 ・塗り絵 ・ひらがな ・カタカナ ・かず・とけい(算数) ・迷路 ・学習ポスター ・なぞなぞ&クイズ
小学1年生 | 国語 ・算数 ・英語
小学2年生 | 国語 ・算数 ・英語
小学3年生 | 国語 ・算数 ・理科 ・社会 ・英語 ・音楽 ・プログラミング ・毎日計算ドリル
小学4年生 | 国語 ・算数 ・理科 ・社会 ・英語 ・音楽 ・プログラミング ・思考力
小学5年生 | 国語 ・算数 ・理科 ・社会 ・英語 ・音楽 ・プログラミング ・思考力
小学6年生 | 国語 ・算数 ・理科 ・社会 ・英語 ・音楽 ・プログラミング ・思考力
【全学年】Z会グレードアップ問題集(無料コラボ教材)
中学生 | 数学 ・英語 ・漢字 ・社会
2024年無料カレンダー|2025年無料カレンダー