この記事では、ビジュアルプログラミング言語「Scratch(スクラッチ)」を使用した、簡単なじゃんけんゲームの作り方をご紹介。じゃんけんプログラミングのポイントとあわせて、チェックしてみてください。
まずはプログラミングに必要な準備から!
Scratch(スクラッチ)は、MIT(マサチューセッツ工科大学)メディアラボで開発された、子ども向けのビジュアルプログラミング言語です。プラットフォームにはプログラミングに必要な環境が整っており、誰でも自由にプログラミングを実行できます。Scratchのアカウントを作成したら、早速「つくる」からじゃんけんゲームを作成してみましょう。
ここからは、プログラムを組む前に必要な準備をご紹介します。
参考:スクラッチでじゃんけんゲームを作ってみよう|大分県
作りたいゲームを定義する
このたびScratchで作りたいのは、以下のシンプルなじゃんけんゲームです。- コンピューターとの対戦型
- 相手の手はグー・チョキ・パーで見た目が変わる
- 1・2・3でグー・チョキ・パーを選択
- 勝負が付いたら背景が変化する
グー・チョキ・パーの画像を追加する
画像の追加は、画面右下のスプライトエリアにある「ねこマーク」から行えます。じゃんけん画像を用意して、「スプライトをアップロード」をクリックすればOKです。注意したいのは、画像には著作権があること。インターネットから探す場合は、著作権フリーかどうかを確認しましょう。おなじみの「いらすとや」は、さまざまなフリー素材が提供されているのでおすすめです。
コスチュームに相手のじゃんけん画像を追加する
「コスチューム」とは、スプライトの見た目のこと。さまざまなコスチュームを用意することで、スプライトに動きや変化を付けられます。このたびのじゃんけんゲームでは、相手側のスプライトを「グー・チョキ・パー」に変化させなければなりません。「コスチュームをアップロード」からグー・チョキ・パーの画像を追加して「あいてのグー」「あいてのチョキ」「あいてのパー」に名前を変更してください。
コスチュームにスプライトを追加することで、「相手の出してに合わせて見た目が変わる」という効果を実装できます。
変数を作る
ブロックの「へんすう」をクリックして「あいて」「じぶん」「ランダム数字」の項目を作ります。じゃんけんゲームの変数は、それぞれ以下のような役割があります。
- あいて:相手のじゃんけんを入れる変数
- じぶん:自分のじゃんけんを入れる変数
- ランダム数字:あいてのじゃんけんを決める変数
スタート設定
用意ができたら、上記のようにブロックを組み合わせ、スタートの設定を行いましょう。Scratch上にある旗印を押すと、ゲームが始まります。
じゃんけんゲームの初期設定をプログラミング
プレビュー画面にスプライトを並べたら、じゃんけんゲームのプログラミングを開始します。スプライトの大きさは、全て同じになるように大きさを調節してください。相手の手を設定する
まずは相手の手のスプライトを選択し、プログラミングを始めます。上記のようにブロックを組み合わせると、相手の手が「じゃんけん!」と言うのがポイントです。1秒後に、相手のスプライトが変化します。
じぶんの手を設定する
上記のようにブロックを組み合わせると、選択したスプライトが「Y座標上を上」に進みます。じゃんけんをするのなら、どの手を選んだのかはっきり示さなければなりません。「y座標プラス30」で、選んだ手を他の手より上に移動させることが可能です。
相手のグー・チョキ・パーを設定する
「1=チョキ」「2=グー」「3=パー」に設定しましたが、他の組み合わせでも構いません。コスチューム変化のブロックを組み合わせれば、相手の手の見た目がくるくると変わります。
じゃんけんの勝負判定をプログラミング
じゃんけん勝負を決める「パー>グ」「グー>チョキ」「チョキ>パー」というパターンを、プログラミングします。また勝ち・負け・あいこで背景を変えて、勝敗の結果を分かりやすくすることも必要です。じゃんけんの勝負判定に関係するプログラミングを見ていきましょう。
背景を作る
さまざまな組み合わせを試して、見やすいテンプレートを選んでください。
勝負後の判定を設定する
勝負判定の結果は背景に表示されるため、背景のスプライトを選択してプログラミングを行います。
上記は、自分が「グー」を出したときのプログラミング。相手がチョキを出すと勝ちなので、背景は「かち!!」に設定します。一方相手がパーを出すと負けなので、背景が「まけ!!」になるというわけです。
同じ要領で「チョキ」「パー」もプログラミングしましょう。3つのプログラミングを合体させれば、ひとまずじゃんけんゲームは完成です。
じゃんけんゲームをプログラミングするメリット
じゃんけんゲームのプログラミングは、プログラミング学習の基礎問題として出されることが多い傾向です。子どもがじゃんけんゲームにチャレンジすると、どのようなメリットがあるのでしょうか?「設計」を考える練習になる
プログラミングにおける設定とは、プログラムの適切な流れを考え、どのような命令が必要かを考えることを指します。じゃんけんは勝負の付き方が明確で、子どもでも「どのような動作を実装させなければならないか」の判断が容易です。プログラムの流れや命令を考えやすく、経験の浅い子どもでも適切なプログラムを組むのは難しくありません。
じゃんけんゲームをマスターすれば、より難しいゲーム・作品にもチャレンジしやすくなります。
条件分岐や変数を学べる
じゃんけんゲームでは、「もし相手がグーを出し、自分がチョキを出したら、自分の負け」などとプログラミングしなければなりません。『もし○○なら、××する』というプログラムは、まさに条件分岐です。またScratchのじゃんけんゲームでは、変数の設定も行います。
プログラミングの変数は数学の変数とは意味が異なるため、理解が難しいケースが少なくありません。じゃんけんゲームで変数に触れること・慣れることは、プログラミングを学ぶ上で大きなメリットです。
Scratch(スクラッチ)を学べるオンラインプログラミングスクール
Scratchでより高度なプログラミングを目指すなら、プロの指導を受けられるプログラミングスクールがおすすめです。オンラインなら通学の負担や時間のしばりがなく、マイペースに学習を進められます。ここからは、Scratchを学びたい子どもに最適な、オンラインプログラミングスクールをご紹介します。
デジタネ(旧 D-SCHOOLオンライン)
100種類以上の豊富なコンテンツを備えた、オンデマンド型のオンラインプログラミングスクールです。Scratchコースのほか、Minecraftでプログラミングを学べる「マイクラッチコース」や、テキストプログラミングを学べる「JavaScript(ジャバスクリプト)コース」などもあります。
デジタネの特徴は、定額料金のみで好きなだけコンテンツを利用できること。YouTube風の丁寧な動画解説を見ながら、子どもは自分のペースでプログラミング学習を進められます。
また学習中の疑問や不安は、チャットやメールで相談できる仕組みです。直接講師に質問したい場合は、Zoomによる「学習応援タイム」や月に1回程度のライブ授業を利用してもよいでしょう。コミュニティ機能で他の子どもとつながる機会を増やせば、孤独を感じることなくプログラミングを学べます。
コース名 | Scratchコース |
対象学年 | 小学3年生〜中学生 |
入学金 | 不要 |
授業料 | 年間プラン:3,980円(税込)/月・月々プラン:4,980円(税込)/月 |
質問機能 | メール・チャット・Zoom「学習応援タイム」(月に1~2回)、ライブ配信(月1回程度) |
無料体験 | あり |
テラコヤエッジ
「スクラッチゲームプログラミングコース」「Unityゲームプログラミングコース」「HTML、CSS、Javascript WEBアプリ開発コース」などを提供しているオンラインプログラミングスクール。Scratchでビジュアルプログラミングの基礎を身に着けたら、より本格的なゲーム作り・Webサイト作りに移行できます。
プログラミングの授業では少人数制が採用されており、講師の目が分散しません。講師は現役のプログラマーが務めており、現場を理解しているからこその有益な指導を受けられます。
万が一学習中に不安や疑問が起こった場合でも、プログラマーによる丁寧なチャットサポートが提供される仕組みです。「学習についていけるか不安」という子どもも、ストレスを感じずに楽しく学べます。
コース名 | Scratchコース |
対象学年 | 小学1年生~中学3年生 |
入学金 | 4,980円 |
授業料 | 3,980円(ライトコース)5,980円(スタンダードコース)プレミアムコース(12,980円) |
無料体験 | あり |
まとめ
ビジュアルプログラミング言語・Scratchなら、タイピングスキルはいりません。じゃんけんルールに従ってプログラミングを組むだけで、自分だけのオリジナルじゃんけんゲームを作れます。デジタル時代が到来した今、プログラミングスキルは特に重視される傾向です。幼いうちからプログラミングに親しんでおくことは、将来の子どもの選択肢を広げることにもつながるでしょう。
難しいところは保護者も一緒に考えながら、楽しくじゃんけんゲームを作ってみてください。