スクラッチプログラミング - カードシャッフルゲームのつくりかた
ごちゃまぜになったたくさんのカードの中から、アタリをさがすゲームをつくってみましょう。「メッセージをおくってまつ」ブロックと変数(へんすう)で、カードをめくるタイミングをきめますよ。
サンプルさくひんであそんでみよう
今回(こんかい)しょうかいするのは、カードシャッフルゲームのつくりかたです。
シャッフルがおわったら、カードをタップ(クリック)してください。アタリのカードはどれでしょう?
(プロジェクトがひょうじされないばあいは、ScratchのPyxofyページをごらんください)
このきじをよむとわかること
- 「メッセージをおくってまつ」ブロックのつかいかた
- 変数(へんすう)のつかいかた
カードシャッフルゲームをつくろう
カードをごちゃまぜにシャッフルして、アタリをあてるゲームをつくってみましょう。
【アタリカードのかんせいプログラム】
![アタリカードの完成コード アタリカードの完成コード](https://www.pyxofy.com/content/images/2021/11/win-card-code.jpg)
【ハズレカードのかんせいプログラム】
![ハズレカードの完成コード ハズレカードの完成コード](https://www.pyxofy.com/content/images/2021/11/lose-card-code.jpg)
1. カードをよういする
- 「アタリ」と「ハズレ」のスプライトをえがく
![アタリカードとハズレカードのスプライト アタリカードとハズレカードのスプライト](https://www.pyxofy.com/content/images/2021/11/card-sprites.jpg)
- 「うら」と「おもて」 のコスチュームをえがく
【アタリ】
![アタリカードの表のコスチュームにはアタリと書いてある アタリカードの表のコスチュームにはアタリと書いてある](https://www.pyxofy.com/content/images/2021/11/win-card-costumes.jpg)
【ハズレ】
![ハズレカードの表のコスチュームにはハズレと書いてある ハズレカードの表のコスチュームにはハズレと書いてある](https://www.pyxofy.com/content/images/2021/11/lose-card-costumes.jpg)
アタリカード
- さいしょはコスチュームを「おもて」にして、アタリのカードだとわかるようにする
![アタリと書いてあるコスチュームを表示する アタリと書いてあるコスチュームを表示する](https://www.pyxofy.com/content/images/2021/11/set-win-card.jpg)
- 2びょうごに、「うら」のコスチュームにかえる
![表のコスチュームを2秒表示した後裏のコスチュームにする 表のコスチュームを2秒表示した後裏のコスチュームにする](https://www.pyxofy.com/content/images/2021/11/set-costume-back.jpg)
ハズレカード
- ハズレのカードは、さいしょから「うら」のコスチュームにしておく
![ハズレカードを裏のコスチュームで表示する ハズレカードを裏のコスチュームで表示する](https://www.pyxofy.com/content/images/2021/11/set-lose-card.jpg)
2. カードをシャッフルする
カードをごちゃまぜにうごかします(シャッフルする)。アタリカードをプログラミングしていきますよ。
メッセージをおくってまつ
アタリカードをうらがえしてから2びょうごに、シャッフルをはじめましょう。うごきだす合図(あいず)につかうのは、メッセージです。
- (2)びょうまつ
- 「(シャッフル)をおくってまつ」
![カードを裏返してから2秒後にメッセージを送って待つ カードを裏返してから2秒後にメッセージを送って待つ](https://www.pyxofy.com/content/images/2021/11/broadcast-shuffle.jpg)
メッセージをうけとったとき
メッセージをうけとったとき、シャッフルをはじめます。
ステージの中をアチコチうごくように、「(0.5)びょうでどこかのばしょへいく」をくりかえしましょう。
![カードをアチコチに動かすコード カードをアチコチに動かすコード](https://www.pyxofy.com/content/images/2021/11/when-i-receive-shuffle.jpg)
カードがかさならないようにしよう
シャッフルがおわってカードがとまったときに、下のようにかさなってしまうことがあります。これだと、カードをえらびにくくなってしまいますね。
![2枚のカードが重なって表示されている 2枚のカードが重なって表示されている](https://www.pyxofy.com/content/images/2021/11/cards-overlap.jpg)
シャッフルがおわったときにカードがかさなっていたら、かさならなくなるまで「0.5びょうでどこかのばしょへいく」をくりかえすようにします。かさなっているかどうかは、「カードのいろにふれた」かどうかでチェックしますよ。
![カードにふれたかどうかをチェックするコード カードにふれたかどうかをチェックするコード](https://www.pyxofy.com/content/images/2021/11/not-touching-card-color.jpg)
ステージからはみ出さないようにしよう
シャッフルがおわったとき、下のようにカードがステージからはみ出してしまうこともあります。
![カードがステージからはみ出して表示されている カードがステージからはみ出して表示されている](https://www.pyxofy.com/content/images/2021/11/off-the-stage.jpg)
このようなときも、「0.5びょうでどこかのばしょへいく」をくりかえすようにしましょう。はみ出しているかどうかは、「はしにふれた」かどうかでチェックしますよ。
「かつ」ブロックをつかって、カードのいろにふれたかどうかをチェックするブロックとくみあわせてください。
![カードとステージの端にふれたかどうかをチェックするコード カードとステージの端にふれたかどうかをチェックするコード](https://www.pyxofy.com/content/images/2021/11/use-and-block.jpg)
ブロックをコピーしよう
メッセージをうけとったとき、ハズレカードもおなじようにうごかします。「シャッフルをうけとったとき」のブロックを、ハズレカードにコピーしましょう。
- ブロックをドラッグして、「ハズレ」の上でドロップする
![シャッフルをうけとったときブロックを押さえてドラッグする シャッフルをうけとったときブロックを押さえてドラッグする](https://www.pyxofy.com/content/images/2021/11/copy-shuffle-code-to-lose-card.jpg)
メッセージをうけとったとき、2まいのカードがシャッフルされるようになりました!
![2枚のカードがシャッフルされた画像 2枚のカードがシャッフルされた画像](https://www.pyxofy.com/content/images/2021/11/cards-shuffled.jpg)
3. カードをめくる
カードをタップ(クリック)して、えらんだカードが「アタリ」か「ハズレ」かをわかるようにしましょう。
コスチュームをかえよう
アタリカードにブロックを追加(ついか)していきますよ。
- タップ(クリック)されたら、「おもて」のコスチュームにかえる
![スプライトが押された時にコスチュームを変えるコード スプライトが押された時にコスチュームを変えるコード](https://www.pyxofy.com/content/images/2021/11/when-this-sprite-clicked.jpg)
カードをタップ(クリック)すると、コスチュームがかわるようになりました!
![スプライトをクリックしてコスチュームが変わった画像 スプライトをクリックしてコスチュームが変わった画像](https://www.pyxofy.com/content/images/2021/11/change-costume-when-clicked.jpg)
でもこれだと、シャッフルされているとちゅうでも、カードをタップ(クリック)できてしまいます。
うごいているとちゅうでアタリがわかってしまったら、ゲームになりませんね。
4. カードをめくれないようにする
シャッフルしているあいだは、カードをタップ(クリック)してもコスチュームがかわらないようにしましょう。
へんすうをつくろう
カードをめくるタイミングをきめるのは、変数(へんすう)です。
- 「めくる」というなまえの変数(へんすう)をつくる
- さいしょは、「めくるを(バツ)にする」
![変数をつくって初期化する 変数をつくって初期化する](https://www.pyxofy.com/content/images/2021/11/make-variable.jpg)
変数(へんすう)の値(あたい)によって、カードをめくれるかめくれないかをきめます。
- 「めくる」がバツのとき…カードをめくれない
- 「めくる」がマルのとき…カードをめくれる
とまったら、めくれるようにしよう
「シャッフルをおくってまつ」ブロックは、すべてのカードのうごきがおわるのをまちます。カードがぜんぶとまってから、変数(へんすう)の値(あたい)をかえて、カードをめくれるようにしましょう。
- 「シャッフルをおくってまつ」の下に、「めくるを(マル)にする」をつなげる
![カードをめくれるように変数の値を変える カードをめくれるように変数の値を変える](https://www.pyxofy.com/content/images/2021/11/set-variable-true.jpg)
カードをタップ(クリック)したときに、変数(へんすう)の値(あたい)をチェックするようにします。
- もし、めくるがマルなら、コスチュームをおもてにする
![スプライトが押されたときに変数の値を確認するコード スプライトが押されたときに変数の値を確認するコード](https://www.pyxofy.com/content/images/2021/11/if-variable-true.jpg)
シャッフルしているあいだは、カードをタップ(クリック)してもコスチュームがかわらないようになりました!
ブロックをコピーしよう
ハズレカードも、タップ(クリック)してめくれるようにしましょう。「このスプライトがおされたとき」のブロックを、ハズレカードにコピーしてください。
- ブロックをドラッグして、「ハズレ」の上でドロップする
![このスプライトがおされたときブロックを押さえてドラッグする このスプライトがおされたときブロックを押さえてドラッグする](https://www.pyxofy.com/content/images/2021/11/copy-flip-code-to-lose-card.jpg)
5. プログラムかんせい
カードシャッフルゲームができました!
ハズレのカードをふくせいすれば、もっとたくさんのカードであそぶことができますよ。ぜひつくってみてください!
![カードシャッフルゲームの完成プログラム カードシャッフルゲームの完成プログラム](https://www.pyxofy.com/content/images/2021/11/card-shuffle-game-program.jpg)
![](https://www.pyxofy.com/content/images/2024/07/cover-page-320-4.png)
「きょうからはじめるスクラッチプログラミング入門」by Pyxofy
Pyxofy から Scratch の基本をまとめた電子書籍を出版しました。
Apple Books・Kindle でご購入ください。
まとめ
今回(こんかい)は、シャッフルされたカードの中からアタリをあてるゲームのつくりかたをしょうかいしました。
「メッセージをおくってまつ」と変数(へんすう)をつかって、カードをめくるタイミングをきめることができましたね。
次回(じかい)は、車をはしらせるドライブゲームをしょうかいします。
\この記事が参考になったら Tweet おねがいします/