火曜日, 5月 02, 2006

random関数でイタリア国旗を作ってみた

random関数で均等に平面を埋め尽くすことができることがわかったので、これで簡単な図形を描いてみる。

イタリア国旗の仕様は、縦と横の比率が2:3、色は左から緑(国土)白(雪)赤(情熱)の3色で均等に塗るというものだ。

縦横が2:3になるように乱数を作り、横を3等分して色を割り振るようなプログラムを作って実際に塗り分けができるか試してみた。

//random関数でイタリア国旗

dispmsg=ラベル! 作る -80 200 位置 400 50 大きさ。

描画:pset=「|x y color size|
ラベル! 作る (size)(size) 大きさ (x)(y) 位置 (color) 色 書く
」.

縦=200. 横=縦/2*3. 点の数=5000.
右側=(横/2-横/3). 左側=-1*(横/2-横/3).

n=0.「n=n+1.
 x=(random(横)-横/2).
 y=(random(縦)-縦/2).
 color=(白).「x<左側」!なら「color=(緑)」実行.「x>右側」!なら「color=(赤)」実行.
 描画! (x)(y)(color)(2) pset。
 dispmsg! ("点の数="+(n)) 書く。
」!(点の数) 繰り返す.

//--------- ここまで ----------



5000個の点ではまだちょっとまばらだが、見事にイタリア国旗ができあがった。