"BOKU"のITな日常

BOKUが勉強したり、考えたことを頭の整理を兼ねてまとめてます。

Scratch(スクラッチ)(5)/星を描く(正五角形を描く応用です)

f:id:arakan_no_boku:20200824233948p:plain

 正五角形を描くScratchプログラムに、ちょっと手を加えると星がかけるよ・・というのをやってみます。

用語などでわからない部分があれば、以下の記事を参照ください。

arakan-pgm-ai.hatenablog.com

目次

 変数を使わず「上向きの五角形」を描く

まずは上向きの正五角形を描いてみます。

正五角形は、72度ずつ回転させて、線をひくのでした。

その時、右回しで、動いてから回す・・ようにすると、下向きの五角形になるので、

以下のようにします。

  • 左回し
  • 回してから動かす

f:id:arakan_no_boku:20200903224409p:plain

初期化する部分は以下のようにします。

  • 開始位置を、X座標=50、Y座標=0にする。

f:id:arakan_no_boku:20200903224503p:plain
これで描かれるのは。

f:id:arakan_no_boku:20200829231233p:plain

こんな五角形です。

これが、星を描くベースになります。

正五角形の回転角度を変えると星になる

正五角形が描けると、星を描くのは実は簡単です。

回転する角度を変えればいいだけです。

論より証拠でやってみます。

まずは、72度 → 144度(72度×2)にしてみます。 

f:id:arakan_no_boku:20200903224635p:plain

こうすると、以下のような星が描けます。

f:id:arakan_no_boku:20200903223721p:plain

さらに角度を変更してみます。

72度 → 216度(72×3)にします。

f:id:arakan_no_boku:20200903224749p:plain

すると、もっときれいな星になります。

f:id:arakan_no_boku:20200903224904p:plain

いい感じです。 

変数を使って、角度と繰り返し回数を変えられるようにする

角度を適切に変えると星が描けました。

せっかくなので、もう少し遊んでみます。

ただ、毎回スクリプトを修正するのもベタな話です。

実行画面で、動かす歩数や繰り返し回数をあれこれ変えて試せるように変数を使ってみます。 

変数の定義の仕方とかは以下を参照ください。

arakan-pgm-ai.hatenablog.com

今回は以下を作ります。

f:id:arakan_no_boku:20200903232402p:plain

初期状態の場所を示す「X」と「Y}

あとは、言葉のまんまです。

それぞれの数字を変数に置き換えるとこんな感じです。

f:id:arakan_no_boku:20200903232535p:plain

初期状態に戻す部分もこんな感じ

f:id:arakan_no_boku:20200903232636p:plain

スライダーで値を変更できるようにする

遊びやすいように、スライダーを選んで、変数の値を変更できるようにします。

f:id:arakan_no_boku:20200903232951p:plain

変数を右クリックして「スライダーの指定範囲を変更」を選んで、以下のように範囲設定をします。

f:id:arakan_no_boku:20200903233424p:plain

今回は、以下のようにしてみました。

  • X: 0 ~ 50
  • Y: -50 ~ 50
  • 動かす歩数: 100 ~ 120
  • 回す角度: 72 ~ 216
  • 繰り返し回数: 5 ~ 50

これでスライダーを動かして、値を変えれば、いろいろ試せるようになりました。

実行して値を変えて遊んでみる

値を動かすと形が変わります。

ほとんどは無茶苦茶になりますが(笑)

たまに、おっと思うような星が描けます。

ちなみに。

自分のおすすめは、繰り返し回数=50回、回す角度=188度です。

f:id:arakan_no_boku:20200903234308p:plain

これを動かすと、Gaboくんがグルグル動きながら、ウニみたいな図形を描きます。

f:id:arakan_no_boku:20200903234412p:plain

よくないですかね(笑)

プロジェクトは公開しています

例によって、このプロジェクトも以下のリンクで公開しています。

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

f:id:arakan_no_boku:20200903235112p:plain

動かしてみたり、「中を見る」ボタンでプログラムを確認したり・・ご自由にどうぞ。

今回はこんなところで。

ではでは。