関数を使う
繰り返し出てくる処理を「関数」としてまとめると、わかりやすいプログラムを書くことができます。
def setup(): size(300,300) smooth() dango(50,50,0) dango(100,100,40) dango(150,150,80) dango(200,200,120) dango(250,250,160) def dango(x, y, t): ellipse(x, y, 20, 20) ellipse(x+20*cos(radians(t)), y-20*sin(radians(t)), 20, 20) ellipse(x-20*cos(radians(t)), y+20*sin(radians(t)), 20, 20)
9 行目から始まる dango は、丸を 3 つ並べて書く「関数」です。
関数は
def 関数名(引数):
という書式で定義します。 関数の実体(処理)は、コロンの後のインデントされている部分です。
関数は、関数名(dango)の後ろにカッコにくくって「引数」(ひきすう、と読む)を書きます。
関数 dango は 3 つの引数 x, y, t を取ります。
関数名: dango | |
内容: 半径20 pixelの丸を3つ並べて書く | |
引数 | |
x | 真ん中の丸の中心 x座標 |
y | 真ん中の丸の中心 y座標 |
t | 回転角度 (degree) |
関数内では x, y, t を使って丸を3つ書く処理を行っています。
関数は 4~8 行で「使われて」います。
いままではプログラムの先頭から処理を順番に書いていましたが、
このように関数を使う場合には、setup() という名前の関数内に実際の処理を書きます。
setup() は、プログラムを実行すると(Runボタンを押すと) 1回だけ実行されます。
C言語の場合は、この「プログラムを開始すると実際に実行される関数」は main() という名前になっています。
例題
- 画面内のランダムな位置にランダムな方向で、団子を 20 個ばかり書いてみてください。
乱数は命令 random() で作ることができます。
http://processing.org/referenc……ndom_.html - 色や大きさを指定できるようにしてください。
戻り値付の関数
関数は値を返すことができます。これを戻り値(もどりち、と読む)と言います。
例えば 次の sind という関数は degree 単位で角度を与えると、その sin 値を返す関数です。
def sind(input): answer = sin(radians(input)) return answer
sin の代わりに使うことができます。