N88-BASICで落書き

2021/6/8(火) 

N88-BASICで落書き

 

(by ULproject for N88-BASIC, NL-BASIC)

 




NL-BASIC,VL-BASICについての注意点とお知らせ

扇形の塗潰しは、はみ出しや塗残しなどの不具合が

でる可能性があります

その時はPAINTなどで代用して下さい

塗潰しの円や扇を描く過程を見る見ないを、

Alt+'-' , Alt+'^' で切替えることができます

Alt+'1'~'6'(全体の速さ変更)

Alt+'7'~'0'(グラフィックの速さ変更)

など詳しくは付属マニュアルを見てください

(NLBasic01.txt,VLBasic01.txtでも可能です)

 

graf001.bas 渦巻と色塗り

graf002.bas 円と色塗り

graf003.bas まるを描く

graf004.bas くま

graf005.bas うさぎ

graf006.bas たぬき

 

N88-BASICについて

 

グラフィック座標は

(0,  0) … (639,  0)

(0,399) … (639,399)

のように左上が原点になっています。

(右下はSCREENモードにより変わります)

色は0:黒 1:青 2:赤 3:紫 4:緑 5:水色 6:黄 7:白

です

 

CIRCLE(320, 200), 50, 7

で半径50の白い円が画面中央に描かれます。

 

CIRCLE(x, y), r, c, a1, a2, e, F, b/t$

(x, y) … 円の中心座標

r      … 円の半径

c      … 円弧の色

a1, a2 … 円弧の開始,終了角(0~2π)(負の時半径描画)

e      … 楕円の縦の半径に対する横の半径の割合

          半径rの円を縦,横に潰した形になる。

          e = 0.5 → 横r , 縦0.5r で横長

          e = 2.0 → 横r/2  , 縦r で縦長

F      … Fを指定すると円内部をc色で塗潰す

b/t$   … bを指定するとcの代わりにb色で塗潰す

          bの代わりにt$を指定するとタイルパターン

          で塗潰す

 

8色モードのタイルパターンの説明

150 B$ = CHR$(0)+CHR$(&H55)+CHR$(0)+CHR$(0)+CHR$(&HAA)+CHR$(0) '--- 黒赤

    16進  2進

Blue  00  00000000 1の位(この位が1なら1)

Red   55  01010101 2の位(この位が1なら2)

Green 00  00000000 4の位(この位が1なら4)

          02020202 … 合計

Blue  00  00000000 1の位(この位が1なら1)

Red   AA  10101010 2の位(この位が1なら2)

Green 00  00000000 4の位(この位が1なら4)

          20202020 … 合計

よって、B$は、

黒赤黒赤黒赤...

赤黒赤黒赤黒...

...

というタイルパターンで塗潰します

PAINT命令でも同じです

 

BASICでは角度は弧度法(ラジアン)を使います

度数法(°)は360で1周ですが、

弧度法(ラジアン)は半径1の円の弧の長さ

(1周2π)で角度を表したものです

 

関数の定義

BASICでは1つの数式を関数として定義できます

(IFなどの命令文を書くことはできません)

DEF FN関数名(x, y, ...) = ...

です(VL-BASICではFN以外でもエラーになりません)

 

DEF FNR(X) = X * PI / 180  '--- 度をラジアンへ

 

を実行しておくと、

FNR(90)は90 * PI / 180という計算が行われます

この関数を使えば度(0~360)で指定できます

 

PI = ATN(1) * 4 は、円周率の代入です

Tan-1(1) = π/4なので4倍しています

PI = 3.141592653589793 としてもかまいません

 

CLS nは画面消去です。

n = 1または省略 → テキスト画面の消去

n = 2 → グラフィック画面の消去

n = 3 → 両方の消去

 

LINE(x1, y1)-(x2, y2), c

座標(x1, y1)から(x2, y2)にc色の線を引く

その他、箱や塗り潰し、破線など、

詳しくはNL-BASICなどのマニュアルを見て下さい。

 

渦巻の描き方

直角三角形の底辺x、高さy、斜辺r、角θ(x,r間)なら

sinθ=y/r、cosθ=x/rは三角比の定義(決め事)です。

両辺r倍して、

 

x = rcosθ

y = rsinθ

 

0≦θ<360(°)で座標(x,y)に点を打てば、

半径rの円が描けます。

rを少しずつ増やしながら何周も円をかけば、

渦巻になり、その後タイルペイントしています

 

VL-BASICでは256色モードのタイリングがあります

詳しくはマニュアルを見て下さい

 

同心円をずらす

VIEW(0,200)-(639,399)で画面下半分のみ描画モードにし、

ROLL , -16で右に16dotずらしています

 

VIEW(X1,Y1)-(X2,Y2)[,C][,B]

描画領域の指定、C色で塗潰、B色の枠で描画領域外を囲む

 

ROLL [H][,W][,N/Y]

VIEW内を上下H,左右Wドットスクロールする

H>0上,W>0左 空いた領域は、N又は省略は0、Yは消去色

で埋める

 

 

NL-BASICと

blg~.zip(graf001.bas~graf006.bas)は

以下のリンクからダウンロードできます

NL-BASIC(N88-BASIC互換?)ホームページ

Readme.txtを読んで遊んで下さい

 

 

このブログの人気の投稿

NEWS

N88-BASICでゲーム (1回目)