初心者のためのゲームプログラミング入門

プログラミングとゲームの杜

初心者のためのプログラミング入門 & ゲームプログラムの作り方入門

文系でもわかるBASIC入門

15.グラフィック機能を使ってみよう

 

このBASIC言語の特徴として、グラフィック機能があります。
簡単に言ってしまうと絵を描く機能です。
シンプルな絵を描くことしかできませんが、コンピュータの命令を使って
どのように描くのかを学習していきましょう。

 

 

CIRCLE 命令で円を描こう

まず、プログラムと実行結果を見てください。

CIRCLE命令で円を描く

行番号20 で左の白い円を、行番号30 で右の赤い円を描いてます。
CIRCLE命令のパラメータは次の通り。

CIRCLE (x,y),半径,線の色,開始角度,終了角度,比率,F,塗り色

行番号20 では線の色以降を省略しています。そのため線がデフォルトの白色となってます。
行番号30 では、線の色に2を指定しています。
色の指定は
0:黒 1:青 2:赤 3:紫 4:緑 5:水色 6:黄 7:白
となっているため、赤色で描かれてます。

 

 

描画領域の座標についてです。

グラフィックの描画領域はドット(小さな点)の集まりで
640ドット、縦400ドットで構成されています。

描画領域の座標について

基準点は画面左上で、右に向かってx座標、下に向かってy座標が増えていきます。

行番号30 をもう一度見てみましょう。

CIRCLE ( 200, 100 ) ,50 ,2

これはx座標 200、y座標 100 の位置を中心として半径50ドットの円を赤色で描く、という意味です。
パラメータを変更し、どのようになるか色々と試しましょう。

 

 

グラフィックを消す CLS 命令

円を描いた状態で、LIST命令を実行してみます。
グラフィック画面に描かれた円とは関係なく、プログラムが表示されます。

円を描いた状態でLISTを実行する

この状態でCLS命令を実行してみてください。
表示されていたプログラムが消えたと思います。

ここで重要なのは、プログラムを表示するテキスト画面と
絵を表示するグラフィック画面は別々に管理されている
ということです。

 

CLS 命令には次のような機能があります。

使い方 動 作
CLS テキスト画面をクリアする
CLS 2 グラフィック画面をクリアする
CLS 3 テキストとグラフィック画面をクリアする

 

 

グラフィックは上書きされる

グラフィックは上書きされる

円を描くときの座標指定を見てください。

CIRCLE(50+I*20 ,50) ,30 ,I

x座標を、50 の位置から 20 ずつ加算しながら描画しています。
これで右にズレながら円が表示されます。
よく見ると、円は上書きされています
塗り色を指定した円を見ると、はっきり分かります。

 

上書きされる性質を活かして、絵を描く時は
表示優先が低いものほど先に描くようにします。

 

 

LINE命令で線を描こう

LINEで線を引く

LINE命令のパラメータは次の通り。

LINE (x1,y1)-(x2,y2),線の色,B(またはBF),塗り色

x1 y1 が開始座標、x2 y2 が終了座標です。
B を指定するとBox 描画になり、BF を指定するとBoxの中が塗られた状態になります。

行番号20 と 30 を見てください。
B の指定がないため線で描画されてます。

 

もう1つ指定方法があります。

線をつなげて描く

行番号30 以降に注目してください。
開始座標の指定がありません。
この場合、前回の終了座標から描画が始まります
一筆書きの要領で何かを描くには、こちらの方が便利です。

 

 

PSET命令で点(ドット)を描こう

ドットを描く

PSET命令のパラメータは次の通り。

PSET (座標x,座標y) ,点の色

座標xyに点を表示します。

 

 

今後の学習方法について

これまで、いくつかの命令や関数を説明してきました。
まだ説明していない命令も沢山有ります。
すべてを説明できないのは残念なのですが
あまり意味の無いことだとも思ってます。

なぜなら、実際には限られた命令しか使わないからです

目的によって使う命令は違いますし、
どの命令が重要なのか特定することはできません。
プログラミングしながら使えそうな命令を探し、命令の詳細を調べるというのが現実的です。

 

今後もサンプルプログラムを使って説明を続けますが
それを改造する習慣を身に付けてください。
改造しながら命令の詳細を調べたり、新しい命令を覚えていきましょう