【scratch】じゃんけんゲームの作り方!変数・メッセージの使い方も解説!

『scratchでじゃんけんゲームの作り方は?』
『Scratchで簡単なゲームを作る方法は?』
『小学生、中学生のプログラミング初心者におすすめのゲームは?』
と気になる方もいらっしゃいますよね。

今回は、プログラミング教室を運営する筆者が、スクラッチでコンピュータとじゃんけんで対戦する本格的なゲームを作の作り方を解説します。
ゲーム画面リンク

じゃんけんゲームは、子どものプログラミング学習に欠かせない、基礎的な技術がふんだんに使われており、必ずと言っていいほど取り組んでおきたいゲーム作りです。

具体的には、メッセージを送る・受け取る、ランダムでの表示、条件分岐、変数の設定などをしていきます。

一見、言葉だけを聞くと、難しく聞こえますが、一つ一つステップを踏んでいけば、小学生3年生頃から中学生であれば、作れるようになります!
ITに詳しくない親御さんでも教えることができるので、ぜひ挑戦してみてください!

小学生、中学生のプログラム入門教材は『scratchなび』で!
子どもの習い事図鑑が運営する『scratchなび』では、スクラッチを使った教材が無料ダウンロード・印刷ができます。

まずはscratchじゃんけんゲームで遊んでみよう!

まずはスクラッチで作ったゲームで遊んでイメージを沸かせてみましょう!

1.緑の旗を押す
2.猫をクリック
3.グー、チョキ、パーを選択

実際にゲームで遊んだら、どうやったら作れるか想像してみましょう!

じゃんけんプログラムの設計を紙に書いてみよう!

画面ができたら、これから、じゃんけんのプログラムを作っていきます。

\ここでポイント/
scratchでプログラミングをするときには、「どんな技術が必要になるか?」の予想をまずは、紙に箇条書きで描いてみましょう!

例えば、
・勝ち負けの判定が必要になるな..
・相手にグー、チョキ、パーをランダムに出す必要があるな..
というイメージです。

この事前に、大枠を設計することが論理的思考能力を高めていくことになります。

この作業をせずに、進めていくと、頭の中が整理できずに、上手く作れなくなってしまうことが良くあるのです。

じゃんけんのゲーム画面を作る

まずは、表示する「スプライト」を配置していきます。

素材の用意

今回、必要な素材は次のとおりです。

  • 自分のキャラ(ストライプ)
  • 相手のキャラ(ストライプ)
  • グー、チョキ、パーの画像

自分のキャラと相手のキャラは、Scratchの画像から好きなものを選びましょう。

グー、チョキ、パーの画像はScratchの画像集にはありませんので、自分で用意する必要があります。

下の画像を右クリックして「画像を保存」を選択してダウンロードしてください。
もちろん、自分で描いたり、写真を撮ってもよいでしょう。

グー

チョキ

パー

ダウンロードしたら、スプライトをアップロードします。

スプライト素材のアップロード

スプライトの配置

まずは、使用するスプライトを配置します。

スプライトを選択

相手はScratchの中にあるスプライトから選びます。
今回は、イヌを選択していますが好きなものを選んで大丈夫です。

相手の選択

相手のイヌは逆向きですので、反対にしましょう。
角度を変えた後、反転ボタンを押すことでうまく変更できます。

イヌを反転

全てのスプライトを置くと次のような配置になりました。

配置例

背景のセット

最後に背景をセットしましょう。
右下の「ステージ」から「背景を選ぶ」を選択します。
背景セット

好きな背景を選びましょう。
ここでは、例としてサッカー場を選んでみます。

ゲーム画面完成!

最後に、位置を微調整して整えます。
スタジアムで向かい合う2人になりましたね。

レイアウトの完成

変数を作ろう!

まずは「変数」を作成します。

変数は、ゲームにおける「状態」を覚えておくためのものです。
このゲームでは、主に自分と相手の出す手を覚えておくために使います。

「変数を作る」というボタンを選ぶことで、新しい変数を作ります。

>>変数がよくわからない方はこちら

変数の追加1

変数の名前を入れることで、新しく変数を作ります。
このとき、「全てのスプライト用」を選択することを忘れないでください。

変数の追加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なび | 子どものプログラミング教材無料ダウンロードサイト


学習プリント(幼児~小学生)無料DL

学年別にプリントを探す

学年別プリント一覧教科別プリント一覧

幼児教材プリント

あいうえお表カタカナ表学習ポスター迷路プリント 簡単編迷路プリント 普通編アルファベット表ローマ字表

小学生 国語

ひらがな

ひらがな練習プリントひらがな全体のプリントひらがな表 ひらがな ならびかえひらがな 促音・拗音 ひらがな 長音ひらがな 数 ひらがな 曜日ひらがなパズル

カタカナ

カタカナ練習プリントカタカナ全体のプリントカタカナ表カタカナならびかえカタカナ 促音・拗音カタカナ 長音カタカナ 動物の鳴き声カタカナ 国名カタカナパズル

漢字

小学生漢字一覧表 小学1年生漢字テスト 小学2年生漢字テスト 小学3年生漢字テスト 小学4年生漢字テスト 小学5年生漢字テスト 小学6年生漢字テスト 都道府県の漢字テスト

語彙文法

小1語彙文法小2語彙文法

小学生 算数

毎日計算ドリル(計算問題メーカー)小1算数プリント(練習問題)小2算数プリント(練習問題)小3算数プリント(練習問題)小4算数プリント(練習問題)小5算数プリント(練習問題)小6算数プリント(練習問題)九九表

小学生 英語

スタペンドリル英語英単語練習プリント(835語)アルファベット表(かわいい)ローマ字表アルファベット練習プリント英語罫線(けいせん)ノート月・曜日・季節・天気の英単語数字を英語で覚える英語であいさつをするbe動詞+形容詞の使い方be動詞+形容詞の質問be動詞+名詞の使い方haveを使う練習プリントLikeの英語練習プリントwantの英語練習プリント

小学生 社会

日本地図のプリント世界地図のプリント小3「社会」学習プリント小4「社会」学習プリント小5「社会」学習プリント小6「社会」学習プリント小学生「地理」プリント小学生「歴史」プリント小学生「公民・政治」プリント歴史年表ポスター小学生「歴史年表」テスト問題

小学生 理科

小3理科プリント小4理科プリント小5理科プリント小6理科プリント

プログラミン学習

scratch無料教材scratchの使い方キャッチゲームの作り方シューティングゲームの作り方

小学生 音楽プリント

音楽学習プリント一覧楽譜の学習プリント臨時記号のプリント音名のプリント音符・休符のプリント拍子の学習プリントアーティキュレーション記号のプリント音楽記号のプリント

前前前世、親子診断

「習い事診断」をする

編集長プロフィール

子供の習い事研究家さとう/編集長


Twitter
「子供の習い事研究家」として活動中。
2019年5月に子どもの習い事図鑑の編集長に。
経歴:某IT企業に入社後、営業、マーケティングを経験。その後ライター/マーケッターおして独立。子どもの習い事図鑑の立ち上げに参画。子どもの習い事に関する事業を展開。
最近では、習い事に関わらず、ワーキングマザーの相談にのることも。 趣味は家族との時間。