2021/03/20

9. Scratch でリンゴを数えてみよう。

1. まず、よんすうパズル の問題。今回は少し難しめ。楽しんでね。
 a. 2235
 b. 2289
 c. 2334
 d. 3357
 e. 5669

2. スクラッチのスプライトには「クローン」という分身の術を使える。
 リンゴを数えるパズルをクローンを使って作ってみよう。

 A. リンゴをいくつか画面上にばらまく。


  これは次のようにコードで表す。

  リンゴのコード
   旗がクリックされたとき
   大きさを (30) %にする
   [こすう] を ((6) から (15) までの乱数 ) にする
   [かず] を (0) にする
   [ばんごう] を (0) にする
   (こすう) 回繰り返す
   |(自分自身)のクローンを作る

  これにより こすう 個のクローンリンゴができる。

  ここで変数 こすう は乱数で生成したリンゴの個数を蓄えている変数。
  変数 かず はリンゴを何個まで数えたかを覚えておく変数で初期値は 0。
  変数 ばんごう はリンゴのスプラウトのそれぞれのクローンが
  何番めにクリックされたかを覚えておくための変数で、初期値は 0。
  この変数 ばんごう を作るときは「このスプライトのみ」を指定する。


  リンゴのコード
   クローンされたとき
   [ばんごう] を (0) にする
   x座標を ((-180) から (220) までの乱数)、
    y座標を ((-60) から (170) までの乱数)) にする。
   表示する

  クローンされたそれぞれのリンゴは、自分の番号をまずは 0 にし、
  画面上の乱数で指定された位置に表示される。

  猫のコード
   旗がクリックされたとき
   大きさを (50) %にする
   x座標を (-215) にする
   y座標を (-65) にする

  猫を画面左下から少し上におく。
 
 B. リンゴを一つひとつクリックして数える。
  リンゴをクリックすると、何番目にクリックされたかを表示し、
  猫の隣に移動する。

  リンゴのコード
   このスプライトがクリックされたとき
   もし <(ばんごう) = (0) > なら
   |[かず] を (1) ずつ変える
   |[ばんごう] を (かず) にする
   |(ばんごう) と (0.3) 秒言う
   |もし <(ばんごう) < (11) > なら
   ||(0.2) 秒でx座標を (((ばんごう) * (35)) - (200)) に、y座標を (-80) に変える
   |でなければ
   ||(0.2) 秒でx座標を ((((ばんごう) - (10)) * (35)) - (200)) に、y座標を (-60) に変える
   |もし <(かず) = (こすう) > なら
   ||(全部数えた) を送る
   でなければ
   |(ばんごう) と (1) 秒言う

  それぞれのクローンリンゴはクリックされていないときは、ばんごう は 0 である。
  初めてクリックされたときだけ、
  何個まで数えたかを覚えておく変数 かず を 1 増やし、
  このクリックされたリンゴの ばんごう を かず の値にする。
  数えたリンゴは猫の右側に整列するが、10個を超えたら、一段上に並べる。
  全てのリンゴをクリックすると、数えた かず がリンゴの個数 こすう と一致するので、
  メッセージ 全部数えた を猫に送る。
  すでにクリックしてあるリンゴを再度クリックしたときは、
  そのクローンリンゴの ばんごう を表示する。

  猫のコード
   [全部数えた] を受け取ったとき
   (リンゴはいくつある?) と聞いて待つ
   もし <(答え) = (こすう)> なら
   |(せいかい) と (2) 秒言う
   でなければ
   |(ちがっているよ) と (2) 秒言う
   |(こたえはぼくをクリックしてね) と (2) 秒言う

  猫はメッセージ 全部数えた を受け取ると、(リンゴはいくつある?) と言う。
  画面の下に入力欄が表示されるので、キーボードからリンゴの個数を入力する。
  猫をクリックしたときの動作は、次のコードで指定する。

  猫のコード
   このスプライトがクリックされたとき
   もし <(答え) = ()> なら
   |(リンゴをくりっくして、かぞえてみよう!) と (2) 秒言う
   でなければ
   |((こすう) と (こだね!)) と (2) 秒言う

 このスクラッチのプログラムは count として
 に置いた。

0 件のコメント:

コメントを投稿

20. 円錐の半分?

17-19 で三角形、四角形の面積を半分にする問題を解いた。 今回は円錐を半分にする実験をしてみよう。 まず、円錐を作るための図形をスクラッチで描いてみた。 プログラムはここ。 https://scratch.mit.edu/projects/561804896 これを実行すると...