スクラッチやってみよう

子供向けプログラミング言語スクラッチの説明

子供向けプログラミング言語 【SCRATCH3.0】であみだくじを作ってみた_1(スクラッチ解説)

f:id:syoushimin:20200112153731j:plain

https://scratch.mit.edu/projects/390456117

クラッチ3.0であみだくじを作ってみました。

クラッチ 【SCRATCH3.0】あみだくじを作ってみた 1

  • スプライトを隠す
  • 入力を待つ
  • メッセージを送る
  • 変数の利用
  • 乱数の利用

 スクラッチ 【SCRATCH3.0】あみだくじを作ってみた 2

 スクラッチ 【SCRATCH3.0】あみだくじを作ってみた 3

  • 色と色の触れた判定

スクラッチ 【SCRATCH3.0】あみだくじを作ってみた 4

  • 繰り返しの制御

様々なブロックを利用していますので参考に見ていってください。

 

クラッチとは、2020年からの新小学校学習指導要領におけるプログラミング教育の実施で注目を集めているプログラミング言語です。

クラッチを始めてみたい人は以前のブログも見てください。

syoushimin.hatenablog.com

スクラッチ使ってみた_1 - syoushimin’s diary

 

この「あみだくじ」の作り方を順次解説してゆきます。

1スタート縦線:準備として何人が参加するのかを聞きます。

あみだくじを手書きで作るときと同じ手順で作ってみましょう。

何人のくじを作るのか決めて、たての線(棒)を書きます。

  • 最初に縦の線のスプライトを作ります。
  • 参加人数を聞き人数分の縦線を作ります。

   f:id:syoushimin:20200112164421j:plain f:id:syoushimin:20200112164954j:plain

縦線の太さは5、長さを348にしています、寸法は同じでなくてもよいですが、太くしすぎると人数が増えたときに難しくなります。

(今回の縦線は長方形で作っています。)

注意:スプライトはコスチュームの中心に配置したほうがよいです。

f:id:syoushimin:20200112170130j:plain

  • 縦線や横線を動かせないように「ドラッグできないようにする」にします。
  • 【調べる】のブロックから「〇ときいてまつ」を使います、入力した数字が「こたえ」に格納されますので変数「参加人数」に保存します。
  • 縦棒の間隔を決めるために中心からプラス方向(右)に200、マイナス方向(左)に200とし、合計400の幅で間隔を計算し、変数「間隔」に保存します。
  • 最初の縦棒の位置を変数「最初の位置X」に格納し、X座標から「間隔」ごとにクローンを作成します。(【こたえ】=参加人数-1で縦線の間の数を計算し中心からの半分を計算しています)
  • Y座標はスプライトの長さや位置によって調整してください。
  • クローンとして作成された縦棒を表示し次の段階「あみださくせい」に移ります。

2横線を作ります

縦線ができたら横線を作ります、横線をつくるときの注意点は。

  1. 長さが「間隔」によって変化すること。
  2. あみだの上部から自動で移動さすために上下の間隔を調整すること(間隔が狭いと回転の判定で誤動作します)、隣の横の列と重ならないこと(色の重なりを判定してして回転してます)
  3. 上下の一定の範囲外には作成しない         

以上の点に注意しながらスクリプトを作ります。

まずはイベントのブロックで「◯をおくる」から新しいメッセージ「あみださくせい」を作り「あみださくせいをおくる」ブロックを縦の線が完成した最後に配置します。

 

f:id:syoushimin:20200426092936j:plain

横線を作るためのスプライトを作成します。

この横線をくじに参加する人数によって拡大して利用しますので小さく作ったほうが良いです、ここでは幅4、高さ2の四角を作りました。(コスチュームの作図画面を拡大して作りました)  

f:id:syoushimin:20200114085040g:plain

  • スプライトができたら【イベント】ブロックから「あみださくせいを受けとったとき」を配置し【変数】を3個作成します。

   変数「あみだかず」、「Yざひょう」、「Yざひょう2」を作成し「Yざひょ 

   う」に180、「あみだかず」に1を格納します。

  • このスプライトを好みの位置に移動し表示されないように「かくす」をつかいます。
  • 【みため】ブロックから「おおきさを◯%にする」を配置し【えんざん】ブロックから「わり算」と「かけ算」ブロックを組み合わせて参考のような計算で横線の長さを参加人数によって変わるようにします(スプライトの大きさによって調整が必要です)
  • Yざひょう(高低)は-150から+120までの間に作ります、スプライトを自動で動かすためにある程度の間隔をとっています(ここでは最低30の間隔)、次に隣の横線と同じ高さにならないように一つ前のYざひょうを変数「Yざひょう」に格納し比べています(もし同じ高さになるともう一度計算します)。
  • Xざひょうの位置は縦線の計算と同じです、変数「あみだかず」は1から+1ずつ増加させます、変数「Yざひょう」にYざひょうを格納し次の比較につかいます。
  • クローンを作成し、【せいぎょ】から「クローンがされたとき」を配置し表示させます。(ここでは音を出しています)

これであみだくじは出来ましたが、横線が少ないので自由に追加できるようにします。

 横線を追加したい列で横線をクリックしたままドラッグし


上下に動かすとクローンを作って追加できるようにします。

  【イベント】ブロックから「このスプライトがおされたとき」を配置し【セイギョ】ブロックから「じぶんじしんのクローンをつくる」を配置します。f:id:syoushimin:20200117084148g:plain

マウスのドラッグで好みの位置に配置したいので【せいぎょ】ブロックの「~までくりかえす」を使いマウスが離されるまでくりかえしするためのスクリプトを作ります。

【しらべる】ブロックから「まうすがおされた」、【えんざん】ブロックから「~ではない」を組み合わせて条件ブロックを作ります。

横方向は動かさないようにY座標のみをマウスに合わせます。

作成したクローンが120以上または-150以下のいちでマウスを離すとクローンを削除するようにしておきます。

 

次回は参加者の人数分のキャラクターを配置します

 

初心者なのでもっと初歩的なところから見たい人にはこちらもどうぞ。

初心者向けスクラッチ解説_1(簡単なクイズ)

syoushimin.hatenablog.com