part2(格好良く配ろう)Scratch2023.05.15トランプをシャッフルして配るプログラムを考えてみましょう。前回はリストを使ってトランプをシャッフルするプログラムと、5枚ずつ配るプログラムを作りました。今回は、リストの操作だけでなく、見た目にトランプを配るプログラムを作ってみます。前回の記事をもとに改造していきます。トランプを配る動きも作っていくので、待ち時間を調整したりちょっと難しい内容になっています。プログラムを作ってみて、こんなに大変になるとは思っていませんでした。スクラッチで複数のスプライトの足並みをそろえて動かすのは難しかったです。前回の記事について格好良くトランプを配るプログラムスプライトを用意する背景(ステージ)のプログラム緑ボタンのプログラムカードを配る裏カードを配るトランプを配るカードをひっくり返す前回の記事について今回は、前回のトラップを配るプログラムが完成しているところから、改造をしていきます。トランプを配るプログラムを作っていない人は前回の記事から読んでください。ステージのプログラムについては今回の記事では説明していませんが、必ず必要です。part1Scratchでトランプを配るプログラムを考えてみましょう。トランプを扱えるようになると、作成できるゲームの幅がうんと広がりそうです。トランプを配るときに難しいのは、ランダムに配るという事です。毎回、同じ順番に配ったらゲームになりませんからね。1度配ったカードは2度と配れないことです。omouga-mama.com2023.04.21格好良くトランプを配る今回はトランプの山から、裏向き5枚ずつ配り、表にひっくり返していくプログラムを作っていきます。緑のボタンを押すと裏カードを5枚配ります。このカードも山から配っているように動かします。5枚配り終えると左から順にカードをひっくり返します。最後の1枚を配り終えたときにカードの山が残っています。すべて配り終えたらカードの山がなくなると格好いいのですが、今回の仕組みでは難しいのであきらめることにします。今回のプログラムでは、裏カードのクローンを作って配る方法にしています。クローンを作ると最後に作成したスプライトの制御しかできません。そのため、山カードのスプライトを操作することができなくなってしまっています。5枚のカードがすべてひっくり返る前に緑ボタンを押すと変な動きになります。この制御も面倒なので今回はあきらめます。5枚目のカードがひっくり返るまでボタンを押せないようにするには次のような方法でやります。・ボタンを押した瞬間にフラグを立てます(変数を用意して1を登録する)。・変数が1の時はボタンを押してもプログラムをスキップするようにします。・5枚目のカードをひっくり返したらフラグを消します(変数に0を登録する)。プログラムプログラムを作る前に、今回使うスプライトを用意しましょう。用意するものは・トランプの裏絵柄のイメージ・トランプ絵柄52枚のイメージです。ここでは「いらすとや」さんのイメージを使わせていただきます。いらすとやさん以外の素材を使う場合、大きさや位置は自分で調整してください。スプライトを用意する裏絵柄のスプライトを追加してください。いらすとやの素材の場合、大きさは45にします。位置はx=0、y=100にします絵柄のスプライトを52枚追加してください。いらすとやの素材の場合、大きさは45にします。非表示にするので位置はどこでもいいのですが、とりあえずx=0、y=0にして1か所にまとめましょう。52個のスプライトすべてに行います。このような感じになります。緑ボタンのスプライトは左上の方に移動しましょう。背景(ステージ)のプログラム背景のプログラムは前回の記事を読んでください。part1Scratchでトランプを配るプログラムを考えてみましょう。トランプを扱えるようになると、作成できるゲームの幅がうんと広がりそうです。トランプを配るときに難しいのは、ランダムに配るという事です。毎回、同じ順番に配ったらゲームになりませんからね。1度配ったカードは2度と配れないことです。omouga-mama.com2023.04.21緑ボタンのプログラム緑ボタンスプライトのプログラムは前回から少し改造して使います。カードを配る前回作成した緑ボタンのプログラムはこちらでした。この部分について少し部品を追加しています。ボタンが押されたときに前回配った5枚のカードを消すために「消すを送る」を追加しておきます。「消すを受け取ったとき」動くプログラムはあとで登場します。「消すを送る」の後に「0.5秒待つ」を追加します。5枚のカードが消えるまでの少し待ち時間を作ります。「もしシャッフルの長さ=0でないなら」の条件分岐を追加しています。前回のプログラムでは毎回5枚ずつ配るプログラムでした。トランプは52枚なので、最後は2枚しか配れません。最後の2枚になったら、2枚だけ配って終了するために追加しました。前回のプログラムでは配るトランプがなくなっても、架空のカードを配るような動きになって格好悪かったので改善しました。〇秒待つについて今回のプログラムでは待ち時間を何回も使っていきます。「〇〇を送る」の部品を使うときには必要になります。「〇〇を受け取ったとき」で動くプログラムの終了を待たずに次の部品が動き出します。このプログラムでは、配ったトランプを消している最中に次のトランプを配り始めてしまい、おかしな動きになることがあります。おかしな動きにならないために、消すプログラムが終わる時間を待って次の部品を実行するように調整しています。これが今回のプログラムの難しいポイントです。緑ボタンに追加するプログラムの続きを見ていきましょう。裏カードを配るまずは裏カードを配るプログラムを作ります。変数「配ったカード」を作っておきます。今回は5枚ずつカードを配るのですが、今、何枚目のカードを配っているのかを知るために使います。5枚のカードは配る場所を変えたいので、1枚目はどこ、2枚目はどこと場所を決めるために使います。初めはカードを配ってない状態から始まるので、0にしておきます。裏カードを配る処理はリスト「配ったカード」の長さだけ繰り返します。前回、リスト「配ったカード」にトランプを5枚ずつ入れるプログラムを作っていました。今回配られた5枚のトランプが入っているはずです。その分の裏カードを先に配ります。配った枚数を把握するために、「配った枚数」を1ずつ増やしながら繰り返します。実際にカードを配る処理は「裏カード配るを送る」で行います。「裏カード配る」で実行するプログラムは裏カードのスプライトの中に作っていきます。この後、「0.5秒待つ」を入れています。1枚配るごとに0.5秒の待ち時間を用意しています。裏カードは格好良く配るために、カードの山からスプライトを移動させながら配置します。そのため少し時間がかかります。待ち時間について今回のプログラムでは裏カードは52枚用意していません。1枚のカードのクローンを作りながら配っていきます。1枚目のカードを配っている最中に、2枚目のカードのクローンを作ってしまうと、1枚目のプログラムが止まってしまいます。(配っているカードがおかしな場所で止まってしまいます)そのため、確実にカードを配り終えるだけの時間、待ち時間を用意します。トランプを配る裏カードを配った次は、絵柄(数字)のトランプを配ります。裏カードと絵柄は別のストライプですが、表と裏の1枚のカードの様に見せていきます。そのために、先ほど配った裏カードの下に絵柄トランプを配置していきます。裏カードと同じように、何枚目のトランプを配るかで配置する場所を変えます。そのために、変数「配った枚数」を0にリセットして使います。裏カードを配るのと同じように変数「配った枚数」を1ずつ増やしながらリスト「配ったカード」に入っているトランプの数だけ繰り返します。実際に配るプログラムは「配るを送る」で別の場所に作ったものを実行します。絵柄トランプのスプライトの中に作りますので、あとで説明します。カードをひっくり返す裏カードをひっくり返して表に変えていきます。実際には裏カードのスプライトを消して絵柄トランプが見えるようにします。格好良く見えるように1枚ずつタイミングをずらしながら消していきます。「1秒待つ」を置いています。2つの目的があります。絵柄カードを配り終わるのを待つ目的です。「〇〇を送る」で実行したプログラムは、プログラムが最後まで実行されるのを待たずに次のプログラムが実行されてしまいます。そのため、5回実行している「配るを送る」が終了するのを待ちます。時間を空けてひっくり返した方が格好いいからです。カードを配った瞬間にひっくり返し始めると、なんとなく落ち着きません。この後は、5枚のカードを順番にひっくり返していきます。(実際にはスプライトを消しています)裏カードを配る、絵柄トランプを配ると同じように、何枚目のカードをひっくり返すのか数えながら5回繰り返す処理になっています。違うのは、変数「ひっくり返すカード」を新しく使っていること、変数「配った枚数」回数繰り返えしていることです。違う変数を使っていますが、あまり意味はありません。(なんとなく気分です)また、ひっくり返す処理を0.3秒ずつ空けています。これも格好いいからです。「ひっくり返すを送る」より前に「0.3秒待つ」がありますが、あとでも構いません。楽天市場調べ)Amazon楽天市場Yahooショッピングポチップ次へ123お米を作ろう・田植えの準備スクラッチ(scratch)で「このスプライトのみ」変数はコピー禁止シェアするTwitterFacebookはてブLINEコピーおく人生思うがまま関連記事Scratch【スクラッチ(Scratch)プログラミング入門】スプライトの使い方スクラッチでプログラミングを始める前に、スプライトの扱いについて学んでおきましょう。JavaやPythonのようなプログラムを勉強していた人にとって、少し戸惑うのがストライプです。スクラッチのストライプについて特徴を知っておきましょう。Scratch【スクラッチ(scratch)プログラミング入門】初期化プログラムでは初期化処理を忘れてはいいけません。スクラッチで初期化処理をしておかないと、誤作動の原因になります。今回はとても大切な初期化処理を解説します。Scratchスクラッチ(scratch)で移動しながらジャンプゲームの基本の動きのジャンプを作ってみましょう。前回はジャンプだけでしたが、今回は歩きながらのジャンプにチャレンジしてみます。歩きながらジャンプをしたら、山の形の様にジャンプをします。ジャンプ中は進む向きを変えられないようにします。ScratchScratchで迷路を解くプログラムを作ろう迷路を解くプログラムを作ってみます。通路を総当たりで進んで、いつかゴールにたどり着くプログラムです。簡単なプログラムで作ることができます。part1Scratchでトランプを配るプログラムを考えてみましょう。トランプを扱えるようになると、作成できるゲームの幅がうんと広がりそうです。トランプを配るときに難しいのは、ランダムに配るという事です。毎回、同じ順番に配ったらゲームになりませんからね。1度配ったカードは2度と配れないことです。Scratch【スクラッチ(Scratch)プログラミング入門】変数部品の使い方これまで、簡単なプログラミングをするための部品について解説しました。今回は、複雑なプログラムを作るために必要な「変数」について学んでいきましょう。部品を上手に使っていくために必要な「変数」です。「変数」だけではプログラムを動かすことができないので、ちょっと退屈な内容です。頑張っていきましょう。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。新着記事ぼったくり?WealthNaviやってみた。5年経過2024.10.18尿路結石はめちゃくちゃ痛い体験記2024.05.09Scratchでパニックボールみたいなゲームを作ろう2024.04.12パニックボールみたいなゲーム2024.03.31Scratchで迷路を解くプログラムを作ろう2024.03.19おく5歳、7歳の2児の親。ITの仕事をしながら、子供向けの教育コンテンツを考えています。現在はスクラッチの勉強をしながら情報発信中。人生思うがまま.TOP記事お問合せプライバシーポリシータイトルとURLをコピーしました。