じゃんけんゲームをプログラミング!手順やポイントを紹介

じゃんけんゲームをプログラミング!手順やポイントを紹介
プログラミング初心者の実践学習におすすめなのが、じゃんけんゲームを作ること。じゃんけんはルールが明快で分かりやすく、ゲーム作りの入門編に最適です。

この記事では、ビジュアルプログラミング言語「Scratch(スクラッチ)」を使用した、簡単なじゃんけんゲームの作り方をご紹介。じゃんけんプログラミングのポイントとあわせて、チェックしてみてください。

コエテコが選ぶ!マインクラフトで学べるプログラミング教室 [PR]

  • クラスモールキッズ SUMMER CAMP 2024予約受付中!全4回のオンラインクラスからプログラミングをはじめてみよう!

  • マインクラフトなら8X9(ハック) 現役エンジニア(書籍執筆者複数在籍)が中心に指導。​大人になっても使えるプログラミングを学ぼう!​

  • Tech Teacher Kids 1対1指導からのスタートだから安心!子ども達の主体性を育むカリキュラムで遊びを学びへ

  • プロクラ マインクラフトのプロが作ったオリジナルワールド!現実世界への興味にも繋がる

  • コードアドベンチャー 元エンジニア&東工大卒の人気マイクラYouTuberによる熱中動画が魅力!プログラミング的思考も学べる

  • エドモンドプログラミングスクール エンジニア×大学教授×マインクラフターが手掛けたマインクラフトで楽しく学べるプログラミングスクール

まずはプログラミングに必要な準備から!

Scratch(スクラッチ)は、MIT(マサチューセッツ工科大学)メディアラボで開発された、子ども向けのビジュアルプログラミング言語です。プラットフォームにはプログラミングに必要な環境が整っており、誰でも自由にプログラミングを実行できます。

Scratchのアカウントを作成したら、早速「つくる」からじゃんけんゲームを作成してみましょう。

ここからは、プログラムを組む前に必要な準備をご紹介します。

参考:スクラッチでじゃんけんゲームを作ってみよう|大分県

作りたいゲームを定義する

このたびScratchで作りたいのは、以下のシンプルなじゃんけんゲームです。

  • コンピューターとの対戦型
  • 相手の手はグー・チョキ・パーで見た目が変わる
  • 1・2・3でグー・チョキ・パーを選択
  • 勝負が付いたら背景が変化する
初心者のじゃんけんゲームは「シンプルに作ること」が鉄則です。あれもこれもと機能を追加しようとすると、つまづいたときに原因が分かりにくくなります。複雑なじゃんけんゲームを作るのは、基本をマスターしてからで十分です。

グー・チョキ・パーの画像を追加する

まずはグー・チョキ・パーの画像を取り込みましょう。

画像の追加は、画面右下のスプライトエリアにある「ねこマーク」から行えます。じゃんけん画像を用意して、「スプライトをアップロード」をクリックすればOKです。

注意したいのは、画像には著作権があること。インターネットから探す場合は、著作権フリーかどうかを確認しましょう。おなじみの「いらすとや」は、さまざまなフリー素材が提供されているのでおすすめです。

 コスチュームに相手のじゃんけん画像を追加する    

「コスチューム」とは、スプライトの見た目のこと。さまざまなコスチュームを用意することで、スプライトに動きや変化を付けられます。

このたびのじゃんけんゲームでは、相手側のスプライトを「グー・チョキ・パー」に変化させなければなりません。「コスチュームをアップロード」からグー・チョキ・パーの画像を追加して「あいてのグー」「あいてのチョキ」「あいてのパー」に名前を変更してください。

コスチュームにスプライトを追加することで、「相手の出してに合わせて見た目が変わる」という効果を実装できます。

変数を作る    

ブロックの「へんすう」をクリックして「あいて」「じぶん」「ランダム数字」の項目を作ります。

Scratchの「へんすう」とは、文字列や数字を入れられる「器(うつわ)」のようなものです。名前を付けてラベリングしておくことで、プログラミング中に呼び出せるようになります。

じゃんけんゲームの変数は、それぞれ以下のような役割があります。

  • あいて:相手のじゃんけんを入れる変数
  • じぶん:自分のじゃんけんを入れる変数
  • ランダム数字:あいてのじゃんけんを決める変数

スタート設定


用意ができたら、上記のようにブロックを組み合わせ、スタートの設定を行いましょう。Scratch上にある旗印を押すと、ゲームが始まります。

じゃんけんゲームの初期設定をプログラミング    

プレビュー画面にスプライトを並べたら、じゃんけんゲームのプログラミングを開始します。スプライトの大きさは、全て同じになるように大きさを調節してください。

相手の手を設定する    

まずは相手の手のスプライトを選択し、プログラミングを始めます。

上記のようにブロックを組み合わせると、相手の手が「じゃんけん!」と言うのがポイントです。1秒後に、相手のスプライトが変化します。

じぶんの手を設定する    


上記のようにブロックを組み合わせると、選択したスプライトが「Y座標上を上」に進みます。じゃんけんをするのなら、どの手を選んだのかはっきり示さなければなりません。「y座標プラス30」で、選んだ手を他の手より上に移動させることが可能です。

相手のグー・チョキ・パーを設定する    


「1=チョキ」「2=グー」「3=パー」に設定しましたが、他の組み合わせでも構いません。コスチューム変化のブロックを組み合わせれば、相手の手の見た目がくるくると変わります。

じゃんけんの勝負判定をプログラミング    

じゃんけん勝負を決める「パー>グ」「グー>チョキ」「チョキ>パー」というパターンを、プログラミングします。また勝ち・負け・あいこで背景を変えて、勝敗の結果を分かりやすくすることも必要です。

じゃんけんの勝負判定に関係するプログラミングを見ていきましょう。

背景を作る

背景は「はいけい」のタブから作成できます。
画像マークから「はいけいをえらぶ」を選択すると、使用可能なテンプレートが表示される仕組みです。「T」をクリックして文字を入れ、「勝ち」「負け」「あいこ」の3パターンを作成しましょう。
ただしあまりゴテゴテした背景を選ぶと、じゃんけんの手が見えにくくなります。
さまざまな組み合わせを試して、見やすいテンプレートを選んでください。

 勝負後の判定を設定する    


勝負判定の結果は背景に表示されるため、背景のスプライトを選択してプログラミングを行います。

上記は、自分が「グー」を出したときのプログラミング。相手がチョキを出すと勝ちなので、背景は「かち!!」に設定します。一方相手がパーを出すと負けなので、背景が「まけ!!」になるというわけです。

同じ要領で「チョキ」「パー」もプログラミングしましょう。3つのプログラミングを合体させれば、ひとまずじゃんけんゲームは完成です。

じゃんけんゲームをプログラミングするメリット

じゃんけんゲームのプログラミングは、プログラミング学習の基礎問題として出されることが多い傾向です。子どもがじゃんけんゲームにチャレンジすると、どのようなメリットがあるのでしょうか?

「設計」を考える練習になる

プログラミングにおける設定とは、プログラムの適切な流れを考え、どのような命令が必要かを考えることを指します。

じゃんけんは勝負の付き方が明確で、子どもでも「どのような動作を実装させなければならないか」の判断が容易です。プログラムの流れや命令を考えやすく、経験の浅い子どもでも適切なプログラムを組むのは難しくありません。

じゃんけんゲームをマスターすれば、より難しいゲーム・作品にもチャレンジしやすくなります。

条件分岐や変数を学べる

じゃんけんゲームでは、「もし相手がグーを出し、自分がチョキを出したら、自分の負け」などとプログラミングしなければなりません。『もし○○なら、××する』というプログラムは、まさに条件分岐です。

またScratchのじゃんけんゲームでは、変数の設定も行います。

プログラミングの変数は数学の変数とは意味が異なるため、理解が難しいケースが少なくありません。じゃんけんゲームで変数に触れること・慣れることは、プログラミングを学ぶ上で大きなメリットです。

Scratch(スクラッチ)を学べるオンラインプログラミングスクール    

Scratchでより高度なプログラミングを目指すなら、プロの指導を受けられるプログラミングスクールがおすすめです。オンラインなら通学の負担や時間のしばりがなく、マイペースに学習を進められます。
ここからは、Scratchを学びたい子どもに最適な、オンラインプログラミングスクールをご紹介します。

デジタネ(旧 D-SCHOOLオンライン)

出典:デジタネ(旧 D-SCHOOLオンライン)
100種類以上の豊富なコンテンツを備えた、オンデマンド型のオンラインプログラミングスクールです。Scratchコースのほか、Minecraftでプログラミングを学べる「マイクラッチコース」や、テキストプログラミングを学べる「JavaScript(ジャバスクリプト)コース」などもあります。

デジタネの特徴は、定額料金のみで好きなだけコンテンツを利用できること。YouTube風の丁寧な動画解説を見ながら、子どもは自分のペースでプログラミング学習を進められます。

また学習中の疑問や不安は、チャットやメールで相談できる仕組みです。直接講師に質問したい場合は、Zoomによる「学習応援タイム」や月に1回程度のライブ授業を利用してもよいでしょう。コミュニティ機能で他の子どもとつながる機会を増やせば、孤独を感じることなくプログラミングを学べます。

コース名   Scratchコース
対象学年 小学3年生〜中学生
入学金 不要
授業料 年間プラン:3,980円(税込)/月・月々プラン:4,980円(税込)/月
質問機能 メール・チャット・Zoom「学習応援タイム」(月に1~2回)、ライブ配信(月1回程度)
無料体験 あり

デジタネ(旧 D-SCHOOLオンライン)はこちら

テラコヤエッジ    

出典:テラコヤエッジ
「スクラッチゲームプログラミングコース」「Unityゲームプログラミングコース」「HTML、CSS、Javascript WEBアプリ開発コース」などを提供しているオンラインプログラミングスクールScratchでビジュアルプログラミングの基礎を身に着けたら、より本格的なゲーム作り・Webサイト作りに移行できます。

プログラミングの授業では少人数制が採用されており、講師の目が分散しません。師は現役のプログラマーが務めており、現場を理解しているからこその有益な指導を受けられます。

万が一学習中に不安や疑問が起こった場合でも、プログラマーによる丁寧なチャットサポートが提供される仕組みです。「学習についていけるか不安」という子どもも、ストレスを感じずに楽しく学べます。

コース名 Scratchコース
対象学年  小学1年生~中学3年生
入学金 4,980円
授業料 3,980円(ライトコース)5,980円(スタンダードコース)プレミアムコース(12,980円)
無料体験 あり

テラコヤエッジはこちら

まとめ    

ビジュアルプログラミング言語・Scratchなら、タイピングスキルはいりません。じゃんけんルールに従ってプログラミングを組むだけで、自分だけのオリジナルじゃんけんゲームを作れます。

デジタル時代が到来した今、プログラミングスキルは特に重視される傾向です。幼いうちからプログラミングに親しんでおくことは、将来の子どもの選択肢を広げることにもつながるでしょう。

難しいところは保護者も一緒に考えながら、楽しくじゃんけんゲームを作ってみてください。

コエテコが選ぶ!マインクラフトで学べるプログラミング教室 [PR]

  • クラスモールキッズ SUMMER CAMP 2024予約受付中!全4回のオンラインクラスからプログラミングをはじめてみよう!

  • マインクラフトなら8X9(ハック) 現役エンジニア(書籍執筆者複数在籍)が中心に指導。​大人になっても使えるプログラミングを学ぼう!​

  • Tech Teacher Kids 1対1指導からのスタートだから安心!子ども達の主体性を育むカリキュラムで遊びを学びへ

  • プロクラ マインクラフトのプロが作ったオリジナルワールド!現実世界への興味にも繋がる

  • コードアドベンチャー 元エンジニア&東工大卒の人気マイクラYouTuberによる熱中動画が魅力!プログラミング的思考も学べる

  • エドモンドプログラミングスクール エンジニア×大学教授×マインクラフターが手掛けたマインクラフトで楽しく学べるプログラミングスクール

今から対策しませんか?新・大学入試
お近くの教室を探す
コエテコ経由で体験申し込みされた方全員にAmazonギフトカードプレゼント中!
体験レッスン+口コミ投稿された方全員に
Amazonギフトカードプレゼント中!

あわせて読みたいガイド

ガイドを読めばプログラミング教育がスッキリわかる!
プログラミングまるわかりガイドを読む

RECOMMEND

この記事を読んだ方へおすすめ