日曜日, 5月 07, 2006

boxメソッドがあればboxfillもありでしょ

boxコマンドがあれば、描いた四角形の中を塗りつぶすboxfillコマンドを欲しいところだ。

ということで、昨日のboxメソッドにちょっと手を入れて、boxfillメソッドを作ってみた。

使い方はこうだ。

描画! (始点x座標)(始点y座標)(対角x座標)(対角y座標)(表示色) boxf

このboxfメソッドを使って、フランス国旗を描いてみる。フランス国旗の仕様は、縦と横の比率が2:3、色は左から青(自由)白(平等)赤(博愛)の3色だ。

//boxfでフランス国旗を描く

描画:boxf=[|x1 y1 x2 y2 color|
タートル! 作る 消える ペンなし (x1)(y1)位置 ペンあり (x2-x1)(0)移動する (0)(y2-y1)移動する ((x2-x1)*-1)(0)移動する 閉じる 図形にする (color) 塗る
].

縦=200. 横=縦/2. xstart=-150. ystart=100.
c=配列!作る (青)入れる (白)入れる (赤)入れる.
n=0.[n=n+1.
 描画! (xstart+横*(n-1))(ystart)(xstart+横*n)(ystart-縦)(c!(n)見る) boxf
]! 3 繰り返す.

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