Android-Basic

Android-BasicはAndroid上で動作するBASIC言語である。

概要
BASICが標準搭載だった時のスタンドアロン型BASICがAndroid上で動作するようになっている。
コンソール画面とエディット画面が同一でダイレクトコマンドでマシンコントロールが可能な仕様。

言語仕様は基本的にMS形式のものと互換性があり、特に日本で一番普及している
N88-BASICのプログラムが最小限の手直しで動作するようになっている。

和製アプリのためソース内部やマニュアルは日本語に対応。
変数表やステップ実行といった最近のIDEに見られるような開発補助機能も持っている。

これをベースにAndroidの機能をコントロールする拡張命令が上乗せされている。
拡張命令は EX_ のように2文字とアンダーラインで始まり区別されている。

ユーザーが使用できるフリーエリアの最大サイズの表記はないが、フレキシブルメモリーとして自動でその機種の利用可能最大値まで伸びる仕組みと記されている。

スプライト機能
80年代後半BASICに見られたBGグラフィックとスプライト機能の制御が取り入れられている。
BGグラフィックはチップ16*16を一画面単位として広さを自由に設定でき、最大16*16画面でRPGのフィールド作りに適した構成になっている。
高速なOpenGLでの描画に切り替えることができ、弾幕シューティングが動く程処理は高速である。

Androidではゲーム用のパッドが標準でないため画面にバーチャルなパッドが表示され、従来のジョイスティック関数で8方向と2ボタンの状態を読み取ることができる。

その他の特徴
Androidが標準で保有しているSQLiteのデータベース機能を利用でき、このモードはWindowsのコマンド式SQLソフトと同様の操作体系になっている。
Bluetoothの入出力命令があり端末間の通信やロボット制御等への応用が可能になっている。
Java形式の正規表現が利用可能。
C言語への変換SAVE機能があるので手直しによりC言語への転用も可能。
DOSと共通するコマンドをいくつか持っている。copy,mkdir,chdir,zip等。

N88-BASICとの互換性
基本命令では細かい所まで修正なしで動作するようにできている。
N88-BASICのプログラムを動かす上での主な変更点、注意点。
テキストカラーやグラフィックのLINE文等で指定するカラーコード（0から7または15まで）の指定はCOL(コード値)のようにフルカラー変換関数で囲う。
SCREEN命令のパラメーター指定法が違う。
GET@,PUT@命令はグラフィックバッファを使用するためデータは全く別のものになっている。
セミグラフィック文字は存在しない。
キーを直接読み込むINP()関数の指定値はAndroidのキーコードを指定しなければならない。

Hu-BASICとの互換性
一部にHu-BASICやBASIC-M25との互換を考慮された命令もある。
DATA文の読み込み行番号を取得するDTL関数。
文字列での式を計算した値で返すCALC()関数。
テキスト画面の文字列を読み込むSCRN$()関数。
ブロックIF文。
流れ制御のREPEAT UNTIL文。
処理を一時停止するPAUSE命令。
LIST内を検索するSEARCH命令。
CONSOLE命令でY軸だけでなくX軸の位置と幅を指定可能。
進数変換をするHEX$(),BIN$()関数。
度とラジアンを変換するRAD(),DEG()関数。
文字をグラフィックに描画するSYMBOL命令。
カラーコードを生成するRGB(),HSV()関数。
グラフィックをロード、セーブするGLOAD,GSAVE命令。
画面の表示優先順位を決定するPRIORITY命令。
ジョイスティック関係のSTICK(),STRIG()関数。
各種設定をするINIT命令。

ユーザー関数と再帰処理を備えていて用意されたサンプルプログラムにはタートルグラフィックスやハノイの塔といったおなじみのものがある。

出典

外部リンク 
公式ページ
English page

Android
Androidのソフトウェア