ベーシック入門
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/02 07:26 UTC 版)
「スーパーカセットビジョン用ソフト」の記事における「ベーシック入門」の解説
Tiny BASIC程度の最低限のコマンド・関数を備え、スプライトなどゲーム専用命令を追加した、BASIC言語ソフト。カセット貼付シールでは『Super BASIC』というタイトルになっている。BASICのほかにキャラクターエディタモードがあり、BASICで扱うキャラクターの一部をユーザーが作成可能。また非公式ではあるが、後述のように機械語にも対応している。 特徴 スーパーカセットビジョンにはキーボードは接続できないが、本体のセレクト12キー(テンキー)の数字キーをファンクションキーに見たて、コントローラのボタンを押しながらジョイスティックの上下で選択肢を切り替えることで、テンキーからすべての文字を入力できる。なおボタンを押しながら左でDelete、ボタンを押しながら右でスペースの挿入が割り当てられている。また数字以外のセレクト12キーでは「CL (Clear)」がSTOPキーとして、「EN (Enter)」がそのままエンターキーとして使われる。 マニュアルは難しい部分を省き、初心者に分かりやすく構成されている。本文はBASICプログラムの最低限の使い方とサンプルゲームを改造する説明だけで終わっており、本格的なゲームを作るための説明は無い(サブルーチンの概念すら解説がない)。基本を習得した後はサンプルゲームのプログラムリストの解説と巻末のコマンドリファレンスを参考に独習することになるが、それらのページではマニュアルに説明の無い専門用語が使われており、急にハードルが高くなっている。 また作製中のプログラムはバッテリーバックアップされるが、外部入出力は一切できない。したがってサンプルプログラムをロードするだけで自作プログラムはすべて消える。 BASICの特徴 BASIC内容は簡略化されており、変数は符号付き16ビット長(-32768から32767まで)に固定で、変数名はA-Zの26種のみ。配列変数や文字変数は扱えない。 扱えるスプライトは16ドット4色固定で、32個まで。32種類のキャラクターが用意されており、そのうち8種類はユーザーが自由にデザイン変更できる。一方でファミリーベーシックのような背景デザイン機能は無い。 もともとBASICは方言が激しいことで知られるが、本作ではゲームを作りやすいように以下のような専用のコマンド・関数が用意されている。なおグラフィック命令はCLSでファンクションキー表示を消した後しか使用できない。 SPRITE - 指定した座標に指定したスプライトを指定のキャラクターで表示する。 MOVE - 指定したスプライトを指定の方向・速度で動かし続ける。画面の上下左右は繋がっており、突き抜ける。ファミリーベーシックとは異なり、自動でアニメーションさせる機能や、動く距離を指定する機能は無い。 XSPRITE()、YSPRITE() - それぞれ指定したスプライトのX、Y座標を返す関数。 ON CRASH GOSUB、CRASH ON、CRASH OFF - スプライト同士の当たり判定(クラッシュ)を定義し、割り込み処理として扱う。 CRASH () - 指定したスプライトが触れた(重なった)相手のスプライト番号を返す関数。予め前述のクラッシュ定義が必要。他の関数と違い、"CRASH"とカッコの間にスペースを1つ挟んで記述する必要がある。 SOUND - あらかじめ用意されているSEを鳴らす。ゼロを指定すると音を止める。 PLAY - 指定した音階・長さ・音色の音を出す。ただし休符を指定する機能は無い。ゼロを指定すると音を止める。 JOYP()、JOY() - それぞれコントローラのボタンおよびレバーの状態を返す関数。なおテンキー状態を調べるにはINKEY関数を使う。 キャラクター(カッコ内はキャラクター番号) あらかじめ木(28)や家(16)、爆発(30-31)・ビーム(18)など複数のキャラクターが用意されており、合計32種類のスプライトが利用できる。そのうち火の玉(5)やブロック(7)など、キャラクター番号0-7の8種類はデザイン変更が可能。以下に主なものをいくつか挙げる。テラ(0-4) 正面姿と左右に歩く姿の5パターンのグラフィックが用意されており、デモ画面で歩き回る姿を見ることができる。5種類ともデザインを自由に変更できるので、自分の作ったキャラクターが歩く姿をデモ画面で見ることができる。 ピコ(19-21) 左右正面の3パターンが用意されている女の子。 ギガ(8) 主に敵キャラとして使われる。 フルーツ(9-15) たくさんの種類が用意されているが、いずれもデザイン変更できない。 その他 車(22-23)、オオカミ(24-25)、カタツムリ(26-27)、敵ボス(6,29)、自機(17)など。 収録ソフト 以下の4タイトルはタイトル画面から直接実行することができるので、BASICを知らない初心者でも最初からゲームとして遊ぶことができる。ただしBASIC上で実行しているため、バッテリーバックアップ中の自作プログラムの内容は失われる(キャラクターデザインは保持)。ブレークアウト ブロック崩しに相当するゲーム。 ブロックベーダー シューティング。移動するブロックをすべて破壊すると面クリア。 フルーツスカッシュ フルーツと敵がランダム方向に動く、迷路の無いパックマンのようなもの。ピコがパワーエサに相当するが、フルーツを取ると効果が切れる。また残機は無く、タイマー制。 ブロックリバー モンスターの流れるフィールドの両岸を往復しながらメロンを集めるゲーム。 このほかLOADコマンドにより、テンキーを使うオルガンソフトや、キャラ一覧表示ツールもROMから呼び出して利用できる。また以下のソフトはマニュアルに記載が無いが、同様にロードできる。サンスーピューターJr. 一定時間内に2桁の足し算を何問正解できるか競う、INPUT文を活用したプログラム。 マニュアル本編のBASICの解説において例示されているプログラムの1つに類似したもので、その発展形に相当する。マニュアルの該当部分ではINPUT文の解説のほかに時間計測の手段としてPEEK関数とPOKE命令が紹介されており、本機がRTCを搭載していることも確認できる。この例では&HFFDD(秒)と&HFFDE(分)にゼロをセットし、後者がゼロのままか否かを見て1分間を計測している。 (タイトル不明) 一部に機械語が利用されている、テレビテニスに似た2人対戦ゲーム。本作はもともとPEEK関数とPOKE命令がサポートされているが、このプログラムリストではマニュアルに記載の無いCALL命令の存在が確認できる。 Tips マニュアルには記載が無いが、飛び先行番号の存在しないプログラムにRENUMをかけると"UL$ Can't continue"というエラーが発生する。 本作ではコマンドプロンプトが"Ready"であり、通常(BASIC起動直後)は、その場所でENTERしても"Syntax error"になるだけである。ただしRESTOREまたはRUN命令を一度実行すると以降はREAD命令が有効になるため、READ Yと見なされて"Out of data"のエラーを返すことがある。
※この「ベーシック入門」の解説は、「スーパーカセットビジョン用ソフト」の解説の一部です。
「ベーシック入門」を含む「スーパーカセットビジョン用ソフト」の記事については、「スーパーカセットビジョン用ソフト」の概要を参照ください。
- ベーシック入門のページへのリンク