スクラッチプログラミング - じゃんけんゲームのつくりかた
コンピューターとじゃんけんをするプログラムをつくってみましょう。「コスチューム」と「メッセージ」のブロックをつかって、グーチョキパーで勝負(しょうぶ)できるようにプログラミングします。
サンプルさくひんであそんでみよう
今回(こんかい)は、自分(じぶん)とコンピューターが対戦(たいせん)する、じゃんけんのプログラムを紹介(しょうかい)します。
「じゃんけんする」ボタンをおしてはじめましょう。「グー」「チョキ」「パー」のボタンで、どれをだすかえらんでくださいね。
(みどりのはたをおして、スタートです。プロジェクトは、ScratchのPyxofyページでもごらんになれます。)
このきじをよむとわかること
- ボタンをクリックしてグーチョキパーをえらぶ方法(ほうほう)
- 相手(あいて)が自動(じどう)でグーチョキパーをだす方法(ほうほう)
- 「あいこ」「かち」「まけ」の結果(けっか)を表示(ひょうじ)する方法(ほうほう)
グー、チョキ、パー、をつくろう
最初(さいしょ)に、「じぶん」のスプライトを用意(ようい)しましょう。
- 「グー」「チョキ」「パー」のコスチュームをつくる
- コスチュームの名前(なまえ)を、「グー」「チョキ」「パー」にする
つぎに、「あいて」のスプライトをつくります。
- 「じぶん」のスプライトを右(みぎ)クリックして、複製(ふくせい)する
- スプライトの名前(なまえ)を、「あいて」にする
- 「上下反転(じょうげはんてん)」をクリックして、手(て)のむきを逆(ぎゃく)にする
「じぶん」と「あいて」の位置(いち)をきめましょう。
- 「じぶん」をステージの下(した)のほうに表示(ひょうじ)する
- 「あいて」をステージの上(うえ)のほうに表示(ひょうじ)する
グーチョキパーのスプライトができました!
ボタンでえらぼう
グーチョキパーのどれにするかは、ボタンできめます。ボタンのスプライトを3つつくって、ならべましょう。ボタンがクリックされたら メッセージ をおくって、「じぶん」のコスチュームがかわるようにしますよ。
- 「グー」のボタンがおされたら、「グー」をおくる
- 「チョキ」のボタンがおされたら、「チョキ」をおくる
- 「パー」のボタンがおされたら、「パー」をおくる
メッセージをうけとるのは、「じぶん」です。
- メッセージをうけとったとき、コスチュームをかえる
ボタンをクリックして、グーチョキパーをえらべるようになりました!
あいてとしょうぶする
「じぶん」のコスチュームがグーチョキパーのどれかにかわるとき、「あいて」のコスチュームも自動的(じどうてき)にかえて、勝負(しょうぶ)できるようにしましょう。
コスチュームをかえるタイミングをあわせるために、「あいて」にメッセージおくります。3つのボタンに、「しょうぶをおくる」ブロックを追加(ついか)してください。
- ボタンがおされたあと、メッセージをおくる
あいてのグーチョキパーをきめよう
「あいて」が、それぞれのボタンからおくられるメッセージ、「しょうぶ」をうけとります。コスチュームを乱数(らんすう)にして、グーチョキパーのどれになるかわからないようにしましょう。
- メッセージをうけとったとき、コスチュームを乱数(らんすう)にする
ボタンをクリックするたびに、「じぶん」と「あいて」のコスチュームがかわって、じゃんけんできるようになりました!
けっかをひょうじするじゅんびをしよう
じゃんけんできるようになったら、結果(けっか)が表示(ひょうじ)されるようにしていきますよ。ここからは、メッセージでのやりとりが、さらにおおくなります。スプライト同士(どうし)がどのように関連(かんれん)してうごくのか、しっかり確認(かくにん)しながらプログラミングしていきましょう。
「ボタン」をかくす
グーチョキパーをえらんだあと、ボタンをクリックできないように、3つのボタンをかくします。
「このスプライトがおされたとき」ブロックをつかうと、スプライトはいつでもクリックできてしまいます。結果(けっか)を確認(かくにん)しているあいだに、グーチョキパーをかえられないようにするためです。
- かくすメッセージをおくって、メッセージをうけとったとき、かくす
「かくす」ブロックをつかうときは、最初(さいしょ)はからなず表示(ひょうじ)されるようにしておくのを、わすれないようにしましょう。
- 最初(さいしょ)は表示(ひょうじ)する
「けっか」のスプライトをつくる
結果(けっか)を表示(ひょうじ)するためのスプライト、「けっか」を用意(ようい)しましょう。
- 「あいこ」「かち」「まけ」のコスチュームをつくる
- コスチュームの名前(なまえ)を、「あいこ」「かち」「まけ」にする
最初(さいしょ)、じゃんけんするまえは、結果(けっか)はみえなくしておきます。表示(ひょうじ)する場所(ばしょ)はきめておきましょう。
- 最初(さいしょ)はかくす
「あいて」がメッセージをおくる
「あいて」がグーチョキパーのどれかにコスチュームをかえたあと、結果(けっか)を表示(ひょうじ)するためのメッセージ、「けっかをひょうじ」をおくります。
- コスチュームをかえたあと、メッセージをおくる
「けっか」がメッセージをうけとる
「あいて」からのメッセージをうけとるのは、「けっか」です。
- メッセージをうけとったとき、表示(ひょうじ)する
ここまでで、結果(けっか)を表示(ひょうじ)するための準備(じゅんび)ができました!
けっかをかくにんしよう
「けっか」にブロックを追加(ついか)していきますよ。表示(ひょうじ)するコスチュームを、「あいこ」「かち」「まけ」のどれにするかをきめられるようにしましょう。
- メッセージをうけとったとき、条件(じょうけん)をわける
どれを表示(ひょうじ)するかは、「じぶん」と「あいて」のコスチュームの名前(なまえ)を確認(かくにん)してきめます。
- 「しらべる」のなかにあるブロックをつかう
あいこ
「じぶん」と「あいて」のコスチュームの名前(なまえ)がおなじだったら、「あいこ」です。
- もしコスチューム名(めい)がおなじなら、コスチュームを「あいこ」にする
じぶんが「グー」のとき
「じぶん」が「グー」のときの「あいて」のコスチュームを確認(かくにん)して、「かち」と「まけ」のどちらを表示(ひょうじ)するかをきめます。「でなければ」のなかにブロックを追加(ついか)してください。
- 「じぶん」が「グー」のとき
- 「あいて」が「チョキ」なら、コスチュームを「かち」にする
- でなければ(「あいて」が「パー」なら)、コスチュームを「まけ」にする
じぶんが「チョキ」のとき
「じぶん」が「チョキ」のときも、おなじように「あいて」のコスチュームを確認(かくにん)して、表示(ひょうじ)する「けっか」のコスチュームをきめますよ。
- 「じぶん」が「チョキ」のとき
- 「あいて」が「パー」なら、コスチュームを「かち」にする
- でなければ(「あいて」が「グー」なら)、コスチュームを「まけ」にする
じぶんが「パー」のとき
「じぶん」が「パー」のときも、おなじです。
- 「じぶん」が「パー」のとき
- 「あいて」が「グー」なら、コスチューム「かち」にする
- でなければ(「あいて」が「チョキ」なら)、コスチュームを「まけ」にする
じゃんけんの結果(けっか)が、ステージ中央(ちゅうおう)に表示(ひょうじ)されるようになりました!
もういちどじゃんけんしよう
結果(けっか)が表示(ひょうじ)されたあと、くりかえしじゃんけんできるようにしましょう。結果(けっか)をしばらく表示(ひょうじ)したら、みえなくして、もういちどじゃんけんするためのメッセージをおくります。
- 2びょうまってから、かくして、メッセージをおくる
メッセージをうけとるのは、グーチョキパーの3つのボタンです。ふたたび表示(ひょうじ)して、クリックできるようにしましょう。
- メッセージをうけとったとき、表示(ひょうじ)する
プログラムかんせい
じゃんけんのプログラムが完成(かんせい)です!
「きょうからはじめるスクラッチプログラミング入門」Pyxofy (著)
Pyxofy が Scratch の基本をまとめた電子書籍を出版しました。
Kindle・Apple Books からご購入ください。
まとめ
今回(こんかい)は、コンピューターと対戦(たいせん)するじゃんけんのプログラムを紹介(しょうかい)しました。
グーチョキパーをだす方法(ほうほう)は、メッセージをきっかけにコスチュームをかえるだけなので、かんがえかたはシンプルですね。結果(けっか)を表示(ひょうじ)するためにはメッセージのやりとりがおおくなるので、スプライト同士(どうし)がどう連動(れんどう)するか、ゆっくりかんがえながらつくってみてください。
最後まで読んでいただき、ありがとうございます。この記事をシェアしてくれると嬉しいです!