第3回 N88-BASICで学ぶプログラミング入門

PartIII N88-BASICプログラム入門(1)

1.日の丸を描く~白い四角を描く~

さぁ、いよいよN88-BASICプログラム入門です。
プログラム言語といっても、難しく構えずに。気楽にいきましょう。
そしてN88-BASICは気楽に色々なことができてしまうのです。

まずは日本人なら国旗"日の丸"を描いてみましょう。
えっ?"日の丸"なんて国旗じゃない!?……そんなサヨクは(・∀・)カエレ!

それはさておき、日の丸は単純な図形の組み合わせで描けます。
……白い四角の上に赤い円ですよね。

直線や四角を描くのはLINE命令を使います。LINEとはその英語の通り「直線」です。
命令も直感でそのまんまという親切設計。
白い画面にカーソルを移動させて、次のように打ち込んで見て下さい。

10 cls3
20 line(100,100)-(500,300),7
N88互換BASIC for Windows95
fig 3.15 こんな感じです

実行するには、メニューの「実行(R)」から「開始(G)」を選びます。

N88互換BASIC for Windows95
fig 3.16 線が描けた!

最初の10とか20…というのは行番号というプログラムの順番です。とりあえず10刻みに増やしていけばいいでしょう。

行番号10の"cls3"というのは、おまじない……というか、「画面をきれいに消す」という命令です。
"とりあえず最初に書いとけ"程度に考えてもらって良いです。

行番号20の"LINE(100,100)-…"が、「線を引け」命令です。(100,100)とか(500,300)は座標(x,y)を表しています。 この場合は座標(x=100,y=100)から座標(x=500,y=300)まで線を引くという意味です。
なんか数学っぽいですが、しょうがありません。BASICの画面は一番左上の座標が(0,0)で一番右下の座標が(640,400)になっています。

N88互換BASIC for Windows95
fig 3.17 座標はこんな感じ

行番号20の最後の"7"というのは色番号を表しています。7番は白色です。ちなみに0番は黒色です。では、1番は何色でしょう……?
分からないときは、すぐにプログラムを書いて実行して確かめてみましょう。

N88互換BASIC for Windows95
fig 3.18 色番号1は青色でした

とりあえず白い直線は引いてみたものの……日の丸というか白い四角には、まだまだ程遠いです。
どうすればよいのでしょうか?

LINE命令には便利なオプションがついています。色番号の後に",b"と書いてみます。つまり

10 cls3
20 line(100,100)-(500,300),7,b

この"b"は「box(箱)を描く」というものです。プログラムを実行してみるとわかります。

N88互換BASIC for Windows95
fig 3.19 白い箱(四角)が描けた

座標(100,100)と座標(500,300)を対角にした四角が描けました。
最後に四角に色を塗ります。色を塗るのは"b"の後に"f"(fill=満たす)をつければ良いです。

10 cls3
20 line(100,100)-(500,300),7,bf
N88互換BASIC for Windows95
fig 3.20 日の丸に一歩近づいた
2.日の丸を描く~赤い円を描く~

次は赤い円を描きます。円はCIRCLE命令を使います。次のように打ち込んでみてください。

10 cls3
20 line(100,100)-(500,300),7,bf
30 circle(300,200),70,2

行番号30の1文がそれです。(300,200)は円の中心座標(x,y)を表しています。数字の70は半径の大きさです。数字の2は色番号(=赤色)を表しています。
実行してみると……

N88互換BASIC for Windows95
fig 3.21 四角の真ん中に赤い円が描けた

座標的には下図のようになります。

N88互換BASIC for Windows95
fig 3.22 座標の説明

最後に赤色で塗りましょう。色を塗るオプションは……LINE命令と同じ"f"です。

10 cls3
20 line(100,100)-(500,300),7,bf
30 circle(300,200),70,2,,,,f

ただしCIRCLE命令の色番号と"f"の間には、開始角度やら終了角度やら様々なオプションが入ります。今回は関係ないのでカンマ(,)だけ入力して省略します。

N88互換BASIC for Windows95
fig 3.23 日の丸完成!

本物の日の丸と比べて比率がメチャメチャですが……そこはまぁご勘弁を。

3.日の丸を描く~応用問題~

やっと日の丸を描くことが出来ました。
なんとなくBASICプログラミングが見えてきたと思います。簡単でしょう!?

では、最後に応用問題!
バングラデシュの国旗を描いてみましょう。

バングラデシュの国旗なんて、白色が緑色なだけでしょう?と思ったアナタは甘い。赤い円が少し旗竿寄りなのだ。
……いや、そんなことはどうでもいい。

白い四角ではなく、緑色の四角なのでLINE命令の色番号を白(7番)から緑(4番)に変えれば良いです。 赤い円の位置にこだわるなら、CIRCLE命令のX座標を少し減らしてあげればいいですね。

こんな感じでしょうか…

10 cls3
20 line(100,100)-(500,300),4,bf
30 circle(270,200),70,2,,,,f
N88互換BASIC for Windows95
fig 3.24 バングラデシュの国旗

次は、花火(期待しているほど、"花火"でもありませんが…入門なので)を打ち上げるプログラムを書いてみましょう!