スポンサーリンク
Scratch

スクラッチ(scratch)でトランプを配る part2(格好良く配ろう)

Scratch

裏カードのプログラム

裏カードのプログラムを作っていきます。
大きくは3つのプログラムに分かれています。

一つ目は、
プログラムが開始されたときに裏カードの場所を戻すプログラム。

二つ目は、
裏カードを配るプログラム。
緑ボタンのスプライトが押されたときに実行されるプログラムです。

三つめは、
裏カードを消して絵柄トランプが見えるようにするプログラム。
これも、緑ボタンが押されたときに実行されるプログラムです。

初期処理

プログラムを開始した時に、裏カードの位置を戻す処理を作っておきます。

すべて念のためにやっておきます。
今回のプログラムでは、なくても問題ないはずです。
プログラムが開始されたら、裏カードのスプライトをx=0、y=100の位置にしておきます。
「表示する」にしておきます。
変数「裏カードクローン番号(ローカル)」を0にしておきます。

「裏カードクローン番号(ローカル)」は「このスプライトのみ」で作成してください。

裏カードを配る

緑ボタンから「裏カードを配るを送る」を受け取ったときに実行するプログラムを作っていきます。
裏カードを5枚配るプログラムを作ります。

配る裏カードをクローンで作成します。
今回は裏カードを1枚しか用意していないので、配る都度クローンを作っておかないと次に配るカードがなくなっていしまいます。


クローンを作成したら念のため「表示する」にしておきます。

変数「カードの位置(ローカル」は「このスプライトのみ」で作成してください。


カードの位置をx=0、y=100にします。


配る裏カードの1枚目は初期処理で指定したx=0、y=100の場所にあるカードからクローンが作られます。
しかし、2枚目のカードは1枚目のカードからクローンが作られるので、1枚目を配った場所にクローンが作られることになります。
ここから、2枚目のカード位置に移動させるとおかしな動きになります。
カードの山から配ったように見せるために、クローンを作るごとにx=0、y=100の位置に戻す処理が必要になります。

配るカードがほかのスプライトの裏に隠れないように、念のため「最前面へ移動する」を仕込んでおきます。


念のため、変数「カード位置(ローカル)」を0でリセットしておきます。


何枚目のカードを配っているのかを取得して、スプライトの位置を計算します。
変数「配った枚数」には緑ボタンのスプライトで何枚目のカードを配っているかカウントしている数字が入っています。
1枚目のカードは
x = -280 + (1 × 90)
 = -190
の位置になるようにしています。
そのあと、1枚ごとに90ずつ右にずらして配るように作っています。
(いらすとやのトランプを大きさ45で利用する場合はこの式です。他のイメージを使う場合は、大きさが違うので調整してください。)


先ほど計算して決めた位置に0.1秒かけて移動させます。
「0.1秒で・・・に変える」の部品を使う事で、カードの山から移動している動きを作ることができます。
カードを動かすことで、配っている感じを見せることができます。


後はこのクローンの変数「裏カードクローン番号(ローカル)」に何枚目のカードだったのかを登録しておきます。
あとで、配ったカードを1枚目から順番にひっくり返すときに使います。
カードも全部を同時にひっくり返すのではなく、1枚ずつひっくり返すプログラムにしていきます。

裏カードをひっくり返す

裏カードをひっくり返して、絵柄トランプを見せていくプログラムを作ります。
このプログラムは、実際には一番最後に実行されます。
※プログラムを作るときは、先に絵柄トランプのプログラムを作ってからこのプログラムを作った方が理解しやすいです。

緑ボタンのスプライトがクリックされたときに「ひっくり返すを送る」が実行されたときに実行されます。

緑ボタンのスプライトでは変数「ひっくり返すカード」の値(1~5)を変えながら、繰り返し「ひっくり返すを送る」を実行してきます。

裏カードのクローンはクローンを作るごとに変数「裏カードクローン番号(ローカル)」に1~5の連番を振っています。

クローンに振られた番号と変数「ひっくり返すカード」が一致した時に、このクローンを隠します。
隠すことでトランプをひっくり返したように見せています。
これで、配った1枚ずつひっくり返す演出をしています。

最後に「このクローンを削除する」を入れています。
クローンが増えてくるとプログラムが上手く動かなくなります。
不要になったクローンは削除しておきましょう。

コメント

タイトルとURLをコピーしました