パパコーダー

子どもと一緒にプログラミングを始めよう!2019年3月からCoderDojo溝口という子ども向けのプログラミングサークルを始めました。神奈川県川崎市の近くにお住まいの方はどうぞ遊びに来てください。

FuzeBasicで図形を描こう!

今回も、FuzeBasicのWorkSheetsに取り組んでいきたいと思います。

前回は、円を描きましたが、その他の図形も描いてみましょう。

図形を組み合わせれば、いろいろな表現ができるようになります。

さっそくプログラムを書いていきましょう。

図形を描く

円を描く

まずは、おさらいで円を描いてみます。
下記のプログラムを書いて、[F3]キーを押して実行してみよう。

CLS
circleX = 0
circleY = 0
circleRadius = 300
LOOP
    CLS2
    RGBCOLOUR(255,0,0)
    CIRCLE(circleX, circleY, circleRadius, 1)
    UPDATE
REPEAT

座標(0, 0)に円を描きます。
FuzeBasicでは左下が(0, 0)になります。
右に移動するとX座標が大きくなります。
上に移動するとY座標が大きくなります。

f:id:oco777:20190507205756j:plain
CIRCLE

その他の図形を描く

その他の図形を描いてみましょう。

CLS
circleX = GWIDTH / 4
circleY = GHEIGHT / 4
circleRadius = 100
rectangleX = GWIDTH / 2
rectangleY = GHEIGHT / 4
rectangleWidth = 300
rectangleHeight = 100
triangle1X = GWIDTH / 4
triangle1Y = GHEIGHT / 2
triangle2X = triangle1X + 200
triangle2Y = triangle1Y
triangle3X = triangle1X + 100
triangle3Y = triangle1Y + 200
ellipseX = GWIDTH / 1.5
ellipseY = GHEIGHT / 1.5
ellipseWidth = 200
ellipseHeight = 100
LOOP
    CLS2
    RGBCOLOUR(255, 0, 0)
    CIRCLE(circleX, circleY, circleRadius, 1)
    RGBCOLOUR(0, 255, 0)
    RECT(rectangleX, rectangleY, rectangleWidth, rectangleHeight, 1)
    RGBCOLOUR(255, 255, 0)
    TRIANGLE(triangle1X, triangle1Y, triangle2X, triangle2Y, triangle3X, triangle3Y, 1)
    RGBCOLOUR(255, 0, 255)
    ELLIPSE(ellipseX, ellipseY, ellipseWidth, ellipseHeight, 1)
    UPDATE
REPEAT

GWIDTH と GHEIGHT は画面の幅と高さです。
長方形と楕円は、座標と幅と高さを指定します。
三角形は、3頂点の座標を指定します。

f:id:oco777:20190507211458j:plain
いろいろな図形

多角形を描く

たくさんの頂点を指定して、多角形を描くこともできます。

CLS
RGBCOLOUR(0, 255, 255)
POLYSTART
    POLYPLOT(100, 100)
    POLYPLOT(300, 100)
    POLYPLOT(300, 300)
    POLYPLOT(200, 200)
    POLYPLOT(100, 300)
POLYEND

POLYSTARTとPOLYENDの間に指定した頂点を結んだ図形が描かれます。

f:id:oco777:20190507213447j:plain
POLY

まとめ

いろいろな図形を描けるようになりました。
これらの図形を使って何か作ってみよう。

papa-coder.hatenablog.com

papa-coder.hatenablog.com

papa-coder.hatenablog.com