前回は「プログラムってなにさ」という概論だけを説明しましたが、今回からは簡単なプログラムを作っていきます。
まずは文字表示の基本から・・・なのですが、その前に944BASICのプログラムを書くときのお約束について。
ファイルについて
9Bのプログラムは、テキストファイルに書きます。そのため、テキストエディタと必要に応じてファイル管理ソフトなどを用意すれば、プログラムを作成するための準備はできあがりです。
9B リファレンスを参照する場合は、辞書ソフト(ZPDVIEW)なども用意しておくと便利です。このあたりについて詳しくは、9B リファレンスのサイトを参照してください。
9Bプログラムのファイル名は、原則として好き勝手に付けてはいけません。ファイルの重複を避けたり、9Bソフトランチャ(9B本体)でジャンルを分けて表示するため、ファイル名の付け方にはルールがあります。また、9Bソフトライブラリなどで自作の9Bソフトを公開する場合は、事前に開発者登録しておく必要があります。
ファイル名の付け方、開発者登録については、それぞれのリンクを参照してください。
このページ以下のサンプルを実行する場合は、次のような方針でファイル名を付けて実行してみてください。
ファイル名: TSTOxxxx (xxxx はその都度、必要に合わせて指定します)
拡張子: .BAS
プログラムの記述方法
半角英数字を使用します。スペースや各種記号もすべて、半角です。要するに、日本語の文字以外はすべて半角です。
英語の大文字・小文字は、どちらを使ってもかまいません。ただし、大文字・_小文字の違いが区別される要素もあるので注意が必要です(これについては、いずれ説明します)。
なお、9Bには日本語コマンドも用意されているのですが、2003年3月現在では断片的にしか明らかになっていないため、今回は日本語コマンドを使用しない前提で説明します。
では、とりあえず次のプログラムを入力して、実行してみましょう。
(ファイル名: TSTOSTR1.BAS)
REM 944BASIC '文字の表示' CLS LOCATE 10,5 PRINT '文字!!' KEYWAIT END
このプログラムを実行すると、画面のやや左上に「文字!!」と表示されるはずです。正しく実行されない場合は、入力ミスがないか確認してください。
以下に、このプログラムで使っている命令(コマンド)について説明します。
REM 944BASIC '文字の表示'
これは、9Bプログラムの一番最初の行に必要な、お約束の1行です。
' '内は、プログラムのタイトルを表します。
CLS
画面全体を消すコマンドです。
LOCATE 10,5
文字の表示位置を指定するコマンドです。この場合、画面の左上から右に半角10文字、下に5行の位置に文字を表示することになります。
PRINT '文字!!'
文字を表示するコマンドです。
' ' の中に表示する文字を記入します。文字を扱う場合は、必ずこのように ' ' でくくってください。
KEYWAIT
何かキー([戻る]と[中断]は除く)が押されるのを待つコマンドです。キーを押すと、プログラムの次の行に進みます。
このコマンドを入れておかないと、プログラムがたちどころに終了してしまい、何が起こっているか確認できません。一度、この行を削除して、プログラムを実行してみてください。
END
プログラムを終了するコマンドです。
プログラムは、ファイルの終わりに来ると自動的に終了するため、今回のようなプログラムでは記述しなくてもかまいません。
コマンドを順番に並べただけの、とてもシンプルなプログラムです。
LOCATEの数値やPRINTの''内を変えたり、KEYWAITを削除すると、どのような実行結果になるか試してみてください。
これだけでは、つまらないですね。今度は次のプログラムを入力してください。
(ファイル名: TSTOSTR2.BAS)
REM 944BASIC 'もうちょっとハデに' CLS FONT 96 GCURSOR 60,60 REM 赤 COLORFG 255,0,0 PRINT '文字!!' GCURSOR 70,70 REM 緑 COLORFG 0,255,0 PRINT '文字!!' GCURSOR 80,80 REM 青 COLORFG 0,0,255 PRINT '文字!!' KEYWAIT END
このプログラムを実行すると、画面のやや左上から赤・緑・青の3色で「文字!!」が重なって表示されるはずです。正しく実行されない場合は、入力ミスがないか確認してください。
以下に、このプログラムで新しく出てきた命令(コマンド)について説明します。
FONT 96
文字の大きさ(フォントの種類)を変えます。数値は 16 の倍数を使用します (16,32,48,64,80,96,112,128,144,160...)。ただし、中には変化のない数値もあります (16など)。例外はありますが、基本的に数値が大きいほど、サイズの大きなフォントになります。ただし、ある一定の数値を超えると、対応するフォントがないため、フォントが変化しないか、エラーになります。
GCURSOR 60,60
文字の表示位置を指定するコマンドです。LOCATEと違って、座標で位置を指定します。座標とは、画面の左上角を(0,0)として、横と縦の位置を左上角からのドット数で表す方法です。
この場合、画面の左上から右に60ドット、下に60ドットの位置に文字を表示することになります。
REM
プログラムの途中に、コメントを入れるためのコマンドです。
REM から改行までの間には、何を書いてもプログラムの実行に影響ありません。
COLORFG 255,0,0
文字などの色を変更するコマンドです。
COLORFGの後に続く数値は、左から、赤、緑、青の色の強さ(明るさ)を指定します。数値は、0〜255の間で指定します。0が最も暗く、255が最も明るくなります。
なお、COLORFG 0,0,0 とすると黒に、COLORFG 255,255,255とすると白になります。
最初のプログラムからいくつかコマンドを増やしただけの、これまたシンプルなプログラムですね。
COLORFGやGCUROSORの数値を変えると、どのような実行結果になるか試してみてください。
今回取り上げたコマンドは、次のとおりです。
REM 944BASIC − 1番最初のお約束&タイトル
CLS − 画面全体の消去
LOCATE − 文字表示の位置指定(桁と行)
PRINT − 文字の表示
KEYWAIT − キー待ち
END − プログラムの終了
FONT − フォントの大きさ(種類)の指定
GCURSOR − 文字表示の位置指定(座標)
COLORFG − 文字などの色指定
REM − コメント
これだけコマンドを覚えれば、文字表示だけでもそれなりに遊ぶことができます。
次の練習問題を試しにやってみてください。
(練習問題)
文字の表示方法を覚えたので、ちょっとした文章を表示するプログラムを作ってみることにしました。文章の書き出しだけを表示する、こんなプログラムです。
・・・これではいまいちなので、次のように表示するプログラムに書き直してください。
1. 何かキーを押すたびに、1行ずつ文章を表示する。
2. もう少し見やすい画面位置に文章を表示する。
なお、最後の行の「・・・・・・」は、各自で適切なオチに書き換えるように。
では、次回まで、さようなら。
--
このページの文章やプログラムに誤りや問題点がある場合は、遠慮なくご指摘ください。
最後に一応、断り書きを。
[お断り]
このページの文章は、加工・転載を自由に行ってもらってかまいません。
このページに掲載したプログラムを使用したことで、どのような損害または障害が発生したとしても、筆者は一切その責任を負いません。
ご使用は、あくまで自己責任で行ってください。