第3回 N88-BASICで学ぶプログラミング入門
PartIII N88-BASICプログラム入門(1)
1.日の丸を描く~白い四角を描く~
さぁ、いよいよN88-BASICプログラム入門です。
プログラム言語といっても、難しく構えずに。気楽にいきましょう。
そしてN88-BASICは気楽に色々なことができてしまうのです。
まずは日本人なら国旗"日の丸"を描いてみましょう。
えっ?"日の丸"なんて国旗じゃない!?……そんなサヨクは(・∀・)カエレ!
それはさておき、日の丸は単純な図形の組み合わせで描けます。
……白い四角の上に赤い円ですよね。
直線や四角を描くのはLINE命令を使います。LINEとはその英語の通り「直線」です。
命令も直感でそのまんまという親切設計。
白い画面にカーソルを移動させて、次のように打ち込んで見て下さい。
20 line(100,100)-(500,300),7
実行するには、メニューの「実行(R)」から「開始(G)」を選びます。
最初の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)になっています。
行番号20の最後の"7"というのは色番号を表しています。7番は白色です。ちなみに0番は黒色です。では、1番は何色でしょう……?
分からないときは、すぐにプログラムを書いて実行して確かめてみましょう。
とりあえず白い直線は引いてみたものの……日の丸というか白い四角には、まだまだ程遠いです。
どうすればよいのでしょうか?
LINE命令には便利なオプションがついています。色番号の後に",b"と書いてみます。つまり
20 line(100,100)-(500,300),7,b
この"b"は「box(箱)を描く」というものです。プログラムを実行してみるとわかります。
座標(100,100)と座標(500,300)を対角にした四角が描けました。
最後に四角に色を塗ります。色を塗るのは"b"の後に"f"(fill=満たす)をつければ良いです。
20 line(100,100)-(500,300),7,bf
2.日の丸を描く~赤い円を描く~
次は赤い円を描きます。円はCIRCLE命令を使います。次のように打ち込んでみてください。
20 line(100,100)-(500,300),7,bf
30 circle(300,200),70,2
行番号30の1文がそれです。(300,200)は円の中心座標(x,y)を表しています。数字の70は半径の大きさです。数字の2は色番号(=赤色)を表しています。
実行してみると……
座標的には下図のようになります。
最後に赤色で塗りましょう。色を塗るオプションは……LINE命令と同じ"f"です。
20 line(100,100)-(500,300),7,bf
30 circle(300,200),70,2,,,,f
ただしCIRCLE命令の色番号と"f"の間には、開始角度やら終了角度やら様々なオプションが入ります。今回は関係ないのでカンマ(,)だけ入力して省略します。
本物の日の丸と比べて比率がメチャメチャですが……そこはまぁご勘弁を。
3.日の丸を描く~応用問題~
やっと日の丸を描くことが出来ました。
なんとなくBASICプログラミングが見えてきたと思います。簡単でしょう!?
では、最後に応用問題!
バングラデシュの国旗を描いてみましょう。
バングラデシュの国旗なんて、白色が緑色なだけでしょう?と思ったアナタは甘い。赤い円が少し旗竿寄りなのだ。
……いや、そんなことはどうでもいい。
白い四角ではなく、緑色の四角なのでLINE命令の色番号を白(7番)から緑(4番)に変えれば良いです。 赤い円の位置にこだわるなら、CIRCLE命令のX座標を少し減らしてあげればいいですね。
こんな感じでしょうか…
20 line(100,100)-(500,300),4,bf
30 circle(270,200),70,2,,,,f
次は、花火(期待しているほど、"花火"でもありませんが…入門なので)を打ち上げるプログラムを書いてみましょう!