目次
変数を使います
用語等がわからない場合は、以下の記事を参照ください。
今回は変数を使います。
前回は正多角形を描くプログラムを数字を直接書くやりかたで作りました。
でも。
数字をダイレクトにかくのは「マジックナンバー」などと呼ばれて、プログラムとしてはヨロシクない・・やってはいけない・・の代表格です。
今回は、この数字の部分を「変数」に置き換えて、まっとうなやり方に戻します。
変数を使う:変数の定義
変数ブロックパレットで「変数を作る」を選びます。
すると、以下のようなウインドウが開くので、自分のわかりやすい名前を定義します。
「すべてのスプライト用」にするか、「このスプライトのみ」にするかは用途に応じて選べばいいです。
でも、今回はスプライトを一つしか使わないので、どっちを選んでも同じです。
今回は以下の3つの変数を定義しました。
変数を使う:数字部分を変数に置き換える
変数を定義すると、変数ブロックパレットに定義した変数が追加されます。
これをドラッグして、数字の部分にドロップすると、数字が変数に置き換わります。
これで、それぞれの変数のところに、さっきの数字を入れると同じように動くのですが、それだけだと、あまり変数にしたありがたみがありません。
正N角形の「N」にあたる数字だけ入力し、あとは自動計算するようにしてみます。
変数を使う:計算を追加する
まず「回転角度」です。
これは360度を「角数」で割った数字でOKのはずです。
あと、「すすむ距離」です。
この長さを同じにすると、角数が増えると、図形が大きくなってしまいます。
四角形の時の距離「100」を4を指定した角数で割って縮めてみます。
例えば、正八角形なら角数は「8」なので、「4÷8 = 0.5」なので、100×0.5=50を「すすむ距離」にする・・って感じです。
その計算を追加すると、こんな感じになります。
作り方を順番にやります。
まず。
変数ブロックパレットから以下をドロップします。
変数名はプルダウンで選べます。
まずは「回転角度」からやります。
プルダウンで変数名「回転角度」を選び、演算ブロックパレットから割り算のブロックを「を」と「にする」の間の「0」の上にドロップします。
ちなみに。
プログラムでは掛け算は「*」、割り算は「/」で表現します。
×と÷ではないので、ご注意を。
さて。
あとは、割り算のブロックの前のところに「360」を入力し、後ろの部分に変数ブロックパレットから「角数」をドロップするわけです。
すすむ距離の計算も同様です。
ただ、こちらは「100 × (4 ÷ 角数)」という計算が必要です。
こういうときは、まず掛け算
をドロップして、左側に「100」の数字を入力し、左側のところに割り算をドロップしてやります。
あとは、割り算の左側に「4」を入力し、右側に変数「角数」をドロップする・・そんな感じで定義していきます。
変数を使う:入力できるようにする
ステージに変数「角数」が表示されているので、そこを右クリックします。
すると以下のような選択肢がでてきます。
ここで「スライダーの指定範囲を変更」を選びます。
ここで最小値「4」、最大値「12」にします。
こうすると、スライダーで「4」から「12」の範囲で選択できるようになるので、正四角形から正十二角形までを描画できるようになります。
で。
入力する必要のない変数は、変数ブロックパレットでチェックを外して非表示にしておきます。
すると、以下のような画面になります。
これで、スライダーで数字を選んで、Gaboくんをクリックすると図形がかけます。
プロジェクトを公開しています
変数を使うことで、だいぶ、プログラムっぽくなってきました。
ちなみに。
今回の作業結果は、以下のリンクでプロジェクトを公開しています。
https://scratch.mit.edu/projects/422092496
実行したり、中を見るボタンでデスクトップを表示して、適当に変更してみたりしてみてください。
scratchの他の記事一覧はこちらです。
今回はこんなところで。
ではでは。