

　　　　　JONGS簡易文法書 1.0版
　　　　　　　　　　　　　　　2007.05.26 前スレ962(苦労人)
　
　あまり厳密にデバッグしていないので、バグがあったら教えてください。
　デバッグしている最中のモノは載せてない…と思った。
　サンプルスクリプトとこれを対比してください。
　

○構文
１行に複数の処理を記述できません。１行１処理限定です。
例外的にif,elseの後にのみ継続処理を記述できます。
一行中の//もしくは;以降をすべて注釈行として無視します。


○変数
変数には整数型と文字列型があり、宣言して使用します。
宣言のコマンドは半角英字大小混在でも問題ありません
intでもINTでも構いません。IntでもＯＫです
配列は1次元のみ、[]で括って宣言してから使用します

Int 変数名Ａ , 変数名Ｂ[10] 
String 変数名Ａ , 変数名Ｂ[10] 

変数名の先頭は半角数字は使用できません。
また半角記号のうち以下のものは使用できません
 !"#$%&'()*+,-./:;<=>?[\]^`{|}~
全角の文字は使用可能です。

○定数
0xが先頭にあると16進数値として扱われます。
それ以外は10進数値として解釈します。

○代入と算術演算
演算子として使用できるのは + - * / % 
()で括った計算も可能です。
代入は=行います
Ｃ言語のような ++ -- += -=はサポートしていません

文字列は+で区切ると結合可能です。
文字列に数値を+と勝手に数値になります。

○ラベル
ラベルは ラベル名 : で記述します。
ラベル名には半角記号のうち以下のものは使用できません
!"#$%&'()*+,-./:;<=>?[\]^`{|}~


○処理系コマンド

・if　else
論理式を評価し、処理を分岐する。
一行型記述
	if ( 論理式 ) 構文
	else 構文
複行型記述
	if ( 論理式 ) {
	  構文
	} else {
	  構文
	}

・while
論理式を評価し、成立する間構文をループして実行する
while (論理式) {
  構文
}

・for
初期値を設定、論理式を評価し、成立する間構文をループして実行する
１ループ毎に演算式に示された演算を実行する
for (初期値設定,論理式,演算式) {
  構文
} 

・goto
指定されたラベルに飛ぶ
goto(飛先ラベル名)

・gosub　return
指定されたラベルに飛び、return文に当たると帰ってくる
gosub(サブルーチンラベル名)
return()

・gosript
指定されたテキストファイルをEUCで記述されたスクリプトとして読み込み、移動する。
この際、変数は引き継がれるが、元の実行位置に戻ることはできない、ラベルもクリアされる。
goscript(EUCで記述されたスクリプトファイル名)

・exit
全ての処理を停止する
exit()

・debug
実行行の情報を１行づつコンソールに出力する。
debug()


○ロードセーブ系

・save
指定された変数を、タブ区切りのCSVファイルに保存する。配列変数の場合は、配列添字を書かなければ全内容が保存される
変数は幾つ指定しても構わない
save(保存ファイル名,変数名0,変数名1,変数名2…)

・load
指定された変数に、タブ区切りのCSVファイルから読み込む。
変数は幾つ指定しても構わない
load(読込ファイル名,変数名0,変数名1,変数名2…)

○文章系コマンド

・text
指定された文章を画面があれば画面に、なければコンソールに出力する
画面に出力された場合、キー入力やマウスクリックなどのイベントを待ち次に進む。
先頭に+が記述されていた場合、直前の文章に追加で出力する
text(文章)
text(+追加文章)

・waittext
指定された文章を画面があれば画面に、なければコンソールに出力。
一定時間待ってから自動的に次の行に進む
text(文章,待ち時間ms)


・setfontcolor
text文で画面に出力する文字の色を指定する。
setFontColor(文字色,縁取色)

・setfont
text文で画面に出力する文字フォントを指定する。
文字スタイルにはplain,italic,boldの指定が可能
フォント名にその環境の独自フォントを指定した場合、他でどうなるかは不明
SunのFontにはDefault Dialog DialogInput Monospaced Serif SansSerif Symbolというのがある（参考）
setFont(フォント名,文字スタイル,文字サイズ)

・settextarea
text文で文字列を画面に出力するエリアをpixcel単位で座標指定する。
（すまん、エリアのボトムはチェックしてなかったりする）
setTextArea(座標Ｘ,座標Ｙ,幅Ｗ,高さＨ);

・settextinterval
text文で画面に出力する文字の文字間、行間の調整値を指定する
setTextInterval(文字間オフセット,行間オフセット)

・input
コンソールより文字列を入力し、指定された変数に代入する
input(変数名)


○画面系コマンド

・display
指定されたサイズの画面を出す。
（フルスクリーン対応の為1024x768 800x600 640x480しか受け付けないようにする可能性があります）
display(幅ピクセル,高さピクセル)


・setcellnumber
使用できるセルの最大数を指定する
setCellNumber(セル数)

・setcellimage
セルに画像ファイルを指定し、読み込ませる
setCellImage(セル番号,ファイル名)

・setcellcanvas
セルを指定サイズのイメージとし、指定色で塗りつぶす
setCellCanvas(セル番号,幅W,高さH,塗りつぶし色)

・setcelltextparam
セルの中央部に出すテキストのフォントと色を指定する
SetCellTextParam(セル番号,フォント名,フォントスタイル,フォントサイズ,テキストの色)

・setcelltext
セルの中央部に出すテキストを指定する。主に画面上にパラメータを表示したい際に使用する
SetCellTextParam(セル番号,テキスト)

・setshifthide
指定セルを、シフトキー押下で隠す。
SetShiftHide(セル番号)


・setcellposition
セルの表示座標位置を指定する
X座標指定に_LEFT(画面左寄せ)_RIGHT(画面右寄せ)_CENTER(画面中央)
Y座標指定に_UPPER(画面上寄せ)_LOWER(画面下寄せ)_MIDDLE(画面中央)
の指定が可能
setCellPosition(セル番号,座標Ｘ,座標Ｙ)

・setcellsize
セルの拡大縮小サイズを指定する
指定されなければ、読み込んだファイルの幅と高さがディフォルト
setCellSize(セル番号,幅Ｗ,高さＨ)

・setcelltranscolor
セルの透過色を指定する。アルファ値は0-255
setCellTransColor(セル番号,透過対象色,透過レベル)
setCellTransColor(セル番号,透過対象色のある座標Ｘ,座標Ｙ,アルファ値)

・setcellflag
セルの表示非表示を指定する。0で非表示、1で表示。
setCellFlag(セル番号,0)
setCellFlag(セル番号,1)

・viewdisplay
現在までに設定された情報を元に、画面を表示する。
セル表示非表示のフラグを「0X1」で指定記述した半角の文字列で指定できる。
この文字列は左からセル番号0のフラグである。1が表示Xが現状維持0が非表示。
また表示時のトランシジョンを指定できる。
現在指定できるトランシジョンは_ZOOMIN _FADEIN _MOSAIC _HASH _WIPE _BOOKLEFT _BOOKRIGHTである
表示非表示フラグ記述文字列と、トランシジョン文字列は省略できる。
viewDisplay()
viewDisplay(表示非表示フラグ記述文字列)
viewDisplay(表示非表示フラグ記述文字列,トランシジョン文字列)

・transitiondisplay;
現在までに設定された情報を元に、表示時のトランシジョンを指定し画面を表示する。
現在指定できるトランシジョンは_ZOOMIN _FADEIN _MOSAIC _HASH _WIPE _BOOKLEFT _BOOKRIGHTである
transitionDisplay(トランシジョン文字列)

○分岐系コマンド
・select
選択ボタンを画面に表示し、選択結果を変数に入れる
指定された変数が整数型ならボタンの番号を、文字列型なら文字を代入します。
選択ボタンは指定された選択エリアにテキトーに書かれます。
（このあたりあとで詳細指定できるようにしときます）
select(変数名,選択肢Ａ,選択肢Ｂ,選択肢Ｃ…)

・setselectarea
選択ボタンを表示するエリアを指定する。
setSelectArea(座標Ｘ,座標Ｙ,幅Ｗ,高さＨ);
setSelectArea(座標Ｘ,座標Ｙ,幅Ｗ,高さＨ,ｘ方向ボタン数,Ｙ方向ボタン数);
setSelectArea(座標Ｘ,座標Ｙ,幅Ｗ,高さＨ,ｘ方向ボタン数,Ｙ方向ボタン数,X方向隙間ピクセル,Y方向隙間ピクセル);

・setselectcolor
選択ボタンを表示する色を指定する。
setSelectColor(通常色,選択色,押下色,文字色);

・cellclick
クリックされるまで待ち、クリックされたセルの番号を整数型変数に入れる
cellClick(変数名)


○音楽系
・midiload
指定されたファイル名のMIDIファイルを読み込む
midiLoad(MIDIファイル名)

・midiplay
現在読み込まれたMIDIをループ演奏開始する。
midiPlay()

・midistop
現在演奏されているMIDIを演奏停止する。
midiPlay()

・audioplay
指定されたファイル名のwaveファイルをメモリ上に読み込み１度だけ演奏する
audioPlay(waveファイル名)

・audioloop
指定されたファイル名のwaveファイルをメモリ上に読み込みループ演奏する
audioLoop(waveファイル名)

・audiostop
指定されたファイル名のwaveファイルの演奏を停止する
audioStop(waveファイル名)


