■コマンド
Adv_Keys コマンド
Assignment ステートメント
Debug_Window コマンド
Debug_Print コマンド
Declare コマンド
Description コマンド
East_Longitude コマンド
Else Command コマンド
ElseIf...[Then] コマンド
End コマンド
EndIf コマンド
EndWhile コマンド
For...To コマンド
GoSub コマンド
GoTo コマンド
If...[Then] コマンド
Label コマンド
Load_Situation コマンド
Next コマンド
North_Latitude コマンド
On...GoSub コマンド
On...GoTo コマンド
OnCrash コマンド
Onexp_Bool_Change...GoSub コマンド
Onexp_Change...GoSub コマンド
Onexp_Clear コマンド
Onexp_True...GoSub コマンド
OnKey コマンド
OnStall コマンド
Performance コマンド
Play コマンド
Play_Video コマンド
Precision コマンド
Print コマンド
Print_Time コマンド
Rem コマンド
Reset_Adventure コマンド
Reset_Situation コマンド
Return コマンド
Scroll コマンド
Set_Position コマンド
South_Latitude コマンド
Title コマンド
Wait, Keypress コマンド
Wait Message コマンド
Wait Play コマンド
West_Longitude コマンド
While コマンド
■コマンド
Adv_Keys コマンド
Adv_Keysコマンドはアドベンチャーによって使用されるキーリストを制御します。リスト
にあるキーはアドベンチャー内で使用できますが、フライトシミュレータでは有効ではあ
りません。リストにないキーはアドベンチャー内で有効ではありません。
OnKeyコマンドで使用するつもりのキーはAdv_Keysコマンドで登録しておく必要があります。
構文
Adv_Keys Add, key, ...
キーリストに追加するキーを指定します。(複数指定も可)すでにリストにあるキーは無視さ
れます。
Adv_Keys Delete, key, ...
キーリストから削除するキーを指定します。(複数指定も可)リストにないキーに対する指定
は無視されます。
Adv_Keys Clear
キーリストから全てのキーを削除します。
使用例
ADV_KEYS ADD, KV(CTRL "r")
ADV_KEYS DELETE, KV(CTRL "r")
ADV_KEYS CLEAR
次の例の中でkeyと書かれている部分はKey値になります。構文上オプションは括弧[ ]で示さ
れています。
KV([CTRL] [SHIFT] "")
上記の例で以下の値がsingle characterの替わりに使用できます。
KEYPAD0, KEYPAD1, KEYPAD2, KEYPAD3, KEYPAD4, KEYPAD5, KEYPAD6, KEYPAD7, KEYPAD8, KEYPAD9,
KEYPADPERIOD, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12
Assignment ステートメント
変数 = 値。変数に特定の値を入れる。
使用例
DECLARE TargetAltitude
TargetAltitude = 500
Debug_Window コマンド
デバッグウインドウのオン、オフを行います。このコマンドで、アドベンチャーやレッスン
実行中にDEBUG_PRINT文の出力が別のウィンドウに表示されます。
なお、見たい変数についてはソースコード中に必ずDEBUG_PRINT文を入れておかないといけま
せん。
構文
Debug_Window on | off
on パラメータによりデバッグウインドウが開かれ、off パラメターにより閉じられます。
デフォルトはDebug_Window OFFです。
使用例
DEBUG_WINDOW ON
Debug_Print コマンド
デバッグウインドウへプリント出力する。
構文
Debug_Print print-list
引数
print-list は0又はそれ以上の項目で各々の項目はコンマで区切られた文字列または数値で表
します。コマンドの最後がコンマで終った場合はそのテキストは次のPrintコマンドにコンカ
チされます。(メッセージウインドウ上、改行は行われず、最後の行の続きに表示されます。)
詳しい説明はPrint コマンドを参照して下さい。
使用例
'飛行機の高度をデバッグウインドウに出力する
DEBUG_PRINT PLANE_ALT
Declare コマンド
後続で使用する特定の名前の新しい変数を一つまたは複数作成します。
構文
Declare variable, variable, ...
引数
variableの名前は文字で始まり文字、数字、アンダースコアが使用できます。
使用例
DECLARE TargetAltitude, actual_alt, Current_Alt1
Description コマンド
アドベンチャーファイルのヘダーに記入するアドベンチャーの内容説明を指定します。この
内容説明はアドベンチャーとレッスンのダイアログボックスに表示されます。
構文
Description string
引数
stringはファイルヘダーに含まれることになる内容説明で、最大で255文字までです。複数行
の内容説明の場合にコンパイラーが各行に付加するスペースを含みます。
参考
Descriptionコマンドは制限文字数に達するまで、何回でも使用できます。
複数のDescriptionコマンドが使用された場合、各文字列の最後にスペースが自動的に追加さ
れます。このスペースも最大文字数にカウントされます。
使用例
DESCRIPTION "This is line one."
DESCRIPTION "This is the second line."
結果: This is line one. This is the second line.
East_Longitude コマンド
経度を東経で指定する宣言です。負で指定した時は西経となります。
このコマンドは、レッスンやアドベンチャーが赤道や正子午線(又は180度線)を越える時がな
い場合に有効です。正の値となるので緯度経度の計算を行なう時に楽になります。
Note: デフォルトではNorth_LatitudeとWest_Longitudeになります。それ以外の場合は緯度、
経度変数を使用する前に指定しなければなりません。
構文
East_Longitude
使用例
'Turkey
NORTH_LATITUDE
EAST_LONGITUDE
'Australia
SOUTH_LATITUDE
EAST_LONGITUDE
Else Command コマンド
条件による実行です。Ifコマンドとマッチし、以前のElseIfコマンドが条件を満たさず、IFコ
マンドの引数が0でない場合は、次にマッチするElseIf、 Else、 EndIfまで Elseの後続のコマ
ンドが実行されます。
構文
ElseIf 条件 [Then]
キーワードThenはオプションです。
使用例
IF PLANE_ALT > 3000 THEN
PRINT "Altitude is greater than 3,000."
ELSEIF PLANE_ALT > 2000 THEN
PRINT "Altitude is greater than 2,000."
ELSEIF PLANE_ALT > 1000
PRINT "Altitude is greater than 1,000."
ELSE
PRINT "Altitude is less than 1,001."
ENDIF
ElseIf...[Then] コマンド
後続の命令を条件付きで実行します。Ifコマンドとマッチし、以前のElseIfコマンドが条件
を満たさず、IFコマンドの引数が0でない場合は、次にマッチするElseIf、 Else、 EndIf
まで Elseの後続のコマンドが実行されます。
構文
ElseIf 条件 [Then]
キーワードThenはオプションです。
使用例
IF PLANE_ALT > 3000 THEN
PRINT "Altitude is greater than 3,000."
ELSEIF PLANE_ALT > 2000 THEN
PRINT "Altitude is greater than 2,000."
ELSEIF PLANE_ALT > 1000
PRINT "Altitude is greater than 1,000."
ELSE
PRINT "Altitude is less than 1,001."
ENDIF
End コマンド
アドベンチャーの論理的な終了マークです。Endコマンドが実行された時にはアドベンチャー
ドライバーはプログラムの最終に達した時と同様、実行を終了します。
構文
End
使用例
IF PLANE_ALT > 4000 THEN
END
ELSE
PRINT "Altitude is less than 4,001."
ENDIF
EndIf コマンド
If構造の終了マークです。
構文
EndIf
使用例
IF PLANE_ALT > 3000
PRINT "Altitude is greater than 3,000."
ENDIF
EndWhile コマンド
一般ループです。EndWhileコマンドはマッチするWhileに対し無条件で戻ります。
構文
EndWhile
使用例
WHILE PLANE_BANK > 5
PRINT "Turning left."
ENDWHILE
For...To コマンド/A>
繰り返しループです。For...To コマンドが含まれる行に続く行がマッチするNext
コマンドまで実行されます。 繰り替えし実行される回数は変数がexpression1から
expression2までの間でexpression3は増分です.
構文
For variable = expression1 To expression2 [By expression3]
引数
expression1 ループが開始される時の数を指定します。
expression2 ループが終了する時の数を指定します。
expression3 増分を指定します。これはオプションで指定されない時はデフォルトの
増分は1になります。
参考
もし、expression1がexpression2より大きく、且つexpression3が負でない場合、
For...To.....Nextの間のコードは実行されません。ループが始まった時、expression2
とexpression3は一度だけ評価され、ループ中の変数の値の変更はループそれ自身
には影響を与えません。
BASICとの互換性維持の為にByの替わりにStepをつかっても構いません。
使用例
DECLARE Test_Value
'This example will print 2, 3, 4, 5, 6, 7, 8, 9, 10.
FOR Test_Value = 2 TO 10
PRINT "Test value = ",Test_Value
NEXT Test_Value
'This example will print 2, 4, 6, 8, 10.
FOR Test_Value = 2 TO 10 BY 2
PRINT "Test value = ",Test_Value
NEXT Test_Value
'This example will print 5, 4, 3, 2, 1.
FOR Test_Value = 5 TO 1 BY -1
PRINT "Test value = ",Test_Value
NEXT Test_Value
GoSub コマンド
サブルーチンをコールします。GoSubコマンドが使用された時には、特定のラベルのついた
部分まで飛び、Returnコマンドがでてくるまで、それが実行されます。 Returnコマンドが出
てきた所で、Gosubに続く所に実行ポイントが戻ります。
構文
GoSub label
引数
labelはLabelコマンドによって定義されます。
参考
サブルーチンは50段階までのネストが認められます。
使用例
'もし、飛行機の高度が5000以上の時にはprint文が実行され、その後、END文が実行される。
IF PLANE_ALT > 5000 THEN
GOSUB subAlt_5K
ENDIF
END
subAlt_5K:
PRINT "Altitude is greater than 5,000."
RETURN
GoTo コマンド
特定のラベルへの即時分岐コマンドです。
構文
GoTo label
引数
labelはLabelコマンドによって定義されます。
参考
Goto以外の制御構造が望ましいですが、いくつかのタスクはGotoコマンドでないと実現で
きません。例えば、大きなエラーが発生した時、アドベンチャーを終了させるのに
GoTo MAIN_ENDコマンドを使用することができます。しかしながら、複数のGotoコマンド
を使用するとコードをトレースすることが困難になります。
使用例
'もし、飛行機の高度が5000以上であれば、END文をスキップしてPRINT文を実行し6000かど
うかをチェックします。
IF PLANE_ALT > 5000 THEN
GOTO subAlt_5K
ENDIF
END
subAlt_5K:
PRINT "Altitude is greater than 5,000."
IF PLANE_ALT = 6000 THEN
PRINT "Aircraft altitude equals 6,000."
ENDIF
If...[Then] コマンド
後続の命令を条件付きで実行します。条件文が0でなければ、If...[Then] コマンドは後続の
コマンドをマッチするElseIf, Else, EndIfがある部分まで実行します。
構文
If expression [ Then ]
キーワードThenはオプションです。
使用例
'この二つは同じ内容になります。
IF PLANE_ALT = 6000 THEN
PRINT "Aircraft altitude equals 6,000."
ENDIF
IF PLANE_ALT = 6000
PRINT "Aircraft altitude equals 6,000."
ENDIF
Label コマンド
GoTo, GoSub, OnCrash GoSub等のコマンドが分岐すべきコード中のマーカーを指定します。
GoSubのないOnCrashコマンドはlabelを使用する必要はありません。コマンドによっては
ラベル名が異なっていても、一種類のラベル名しか許容しないものがあります。
構文
Label :
参考
・ラベル名は文字で始まり文字、数字、アンダースコアが使用できます。
・ラベル名はユニークでなければなりません。但し、ラベル名と変数名は同じ名前が使用で
きます。
・ラベルはGoto命令の前でも後でもどこにでも置くことができます。
使用例
'MAIN_PRINTというラベルをGotoコマンドの後に置いたケース。
GOTO MAIN_PRINT
MAIN_PRINT:
PRINT "Watch your altitude."
'GOTO命令をMAIN_PRINTというラベルの後に置いたケース
MAIN_PRINT:
PRINT "Watch your altitude."
GOTO MAIN_PRINT
Load_Situation コマンド
stringによって指定されたフライトファイル(.FLT)をロードします。FS2000は最初にカレン
トディレクトリーをサーチし、その後\situatioディレクトリーをサーチし、その後、\pilots
ディレクトリーをサーチします。(FS98との下方互換性を維持する為、シチュエーションファイ
ル(.STN)もロードしますが、新しいアドベンチャーには.FLTファイルを使用して下さい。)
構文
Load_Situation string
引数
stringにシチュエーションファイルを指定します。
使用例
'FS2000のデフォルトシチュエーションをロードします。
LOAD_SITUATION "FS2000"
Next コマンド
Forループの終了マークです。
構文
Next variable
引数
variableはオプションです。指定した場合はForコマンドで指定した変数と同じでないといけ
ません。
使用例
DECLARE Test_Value
'This example will print 1, 2, 3, 4, 5.
FOR Test_Value = 1 TO 5
PRINT "Test value = ",Test_Value
NEXT Test_Value
North_Latitude コマンド
緯度を北緯で指定する宣言です。負で指定した時は南緯となります。
このコマンドは、レッスンやアドベンチャーが赤道や正子午線(又は180度線)を越える時がな
い場合に有効です。正の値となるので緯度経度の計算を行なう時に楽になります。
Note: デフォルトではNorth_LatitudeとWest_Longitudeになります。それ以外の場合は緯度、
経度変数を使用する前に指定しなければなりません。
構文
North_Latitude
Example
'Canada
NORTH_LATITUDE
WEST_LONGITUDE
'Turkey
NORTH_LATITUDE
EAST_LONGITUDE
On...GoSub コマンド
条件文を評価し、整数に置き換えます。結果が0であればGoSubでlabel0を実行し、1であれば
label1を実行するという具合です。
構文
On expression GoSub label0, label1, ...
引数
labelパラメータはLabelコマンドによって定義します。
参考
もし、値が0より小さいかラベルの数と等しいか大きい場合、サブルーチンコールは行われず、
後続の命令が実行されます。この場合はエラーにはなりません。
使用例
DECLARE iSeg
FOR iSeg = 0 TO 3
ON iSeg GOSUB subSeg0, subSeg1, subSeg2, subSeg3
NEXT iSeg
SubSeg0:
'Some code...
RETURN
SubSeg1:
'Some code...
RETURN
SubSeg2:
'Some code...
RETURN
SubSeg3:
'Some code...
RETURN
On...GoTo コマンド
条件文を評価し、整数に置き換えます。結果が0であればlabel0に分岐し、1であればlabel1に
分岐するという具合です。
構文
On expression GoTo label0, label1, ...
引数
labelパラメータはLabelコマンドによって定義します。
参考
もし、値が0より小さいかラベルの数と等しいか大きい場合、分岐は行われず、後続の命令
が実行されます。この場合はエラーにはなりません。
使用例
DECLARE iSeg
FOR iSeg = 0 TO 3
ON iSeg GOTO subSeg0, subSeg1, subSeg2, subSeg3
NEXT iSeg
SubSeg0:
'Some code...
SubSeg1:
'Some code...
SubSeg2:
'Some code...
SubSeg3:
'Some code...
OnCrash コマンド
ユーザーの機体がクラッシュした時にフライトシミュレータの通常のクラッシュ時の扱いと
異なる特別の取り扱いを行いたい場合に、特別のサブルーチンコールのラベル名を指定します。
構文
OnCrash [GoSub label]
引数
label名はLabelコマンドによって定義します。
参考
GoSub labelを指定しなかった場合はOnCrashコマンドは取り消され、フライトシミュレータ
の通常のクラッシュ時の扱いとなります。
使用例
ONCRASH GOSUB subBent
SubBent:
PRINT "You really bent the airplane this time."
RETURN
Onexp_Bool_Change...GoSub コマンド
イベントリストに後続のイベントを追加します。また、条件が偽から真に変わった時に
label1がコールされます。label2が指定された時には条件が真から偽に変わった時にコール
されます。イベント起動コマンドとどれだけ頻繁にインタープリターが条件判断を行うか
はイベント起動プログラミングの項目を参照して下さい。
構文
Onexp_Bool_Change expression GoSub label1, [label2]
使用例
ONEXP_BOOL_CHANGE ON_GROUND GOSUB subON_GRND, subAirborne
subON_GRND:
PRINT "Nice landing."
RETURN
SubAirborne:
PRINT "Now you are flying."
RETURN
Onexp_Change...GoSub コマンド
イベントリストに後続のイベントを追加します。また、条件が新しい値に変わった時に
labelがコールされます。イベント起動コマンドとどれだけ頻繁にインタープリターが条件
判断を行うかはイベント起動プログラミングの項目を参照して下さい。
構文
Onexp_Change expression GoSub label
使用例
ONEXP_CHANGE ADF_FREQ GOSUB subADF_Chng
subADF_Chng:
ONEXP_CLEAR subADF_Chng
PRINT "Tune the ADF to 362 for the LOM."
RETURN
Onexp_Clear コマンド
イベントリストからそのlabelを参照するイベントを削除します。labelが指定されない場合は
全てのイベントをイベントリストから削除します。
構文
Onexp_Clear [label]
使用例
ONEXP_TRUE ON_GROUND GOSUB subON_GRND
subON_GRND:
'Clears the event so it only is triggered once.
ONEXP_CLEAR subON_GRND
PRINT "Nice landing."
RETURN
Onexp_True...GoSub コマンド
イベントリストに後続のイベントを追加します。また、条件が偽でない場合、label1がコール
されます。label2が指定されている場合、条件が偽の場合にコールされます。イベント起動コ
マンドとどれだけ頻繁にインタープリターが条件判断を行うかはイベント起動プログラミング
の項目を参照して下さい。
構文
Onexp_True expression GoSub label1, [label2]
使用例
DECLARE iAlt_Time
' The user aircraft should be at 5,000 feet. If it is outside
' the range of 4,800 to 5,200 a reminder message will print every 15
' seconds. Once the aircraft is within the range of 4,900 to 5,100 feet
' the message will stop and the command reset.
ONEXP_TRUE NOT INRANGE(PLANE_ALT, 4800, 5200) GOSUB subAlt_Msg,
subAlt_Reset
' Additional code as required for other operations
subAlt_Msg:
' Prints the check altitude message and sets timer for 15 more seconds
IF ELAPSED_TIME > iAlt_Time
PRINT "Check your altitude."
iAlt_Time = ELAPSED_TIME + 15
ENDIF
RETURN
subAlt_Reset:
' Stops message printing and resets the command
' when within the range of 4,900 and 5,100 feet.
IF INRANGE(PLANE_ALT, 4900, 5100) THEN
iAlt_Time = 0
ENDIF
RETURN
OnKey コマンド
ユーザーがkey-valueで指定されたキーを押した時にlabelにより指定された特別のサブルー
チンコールを行うことを指定します。
構文
OnKey key-value [GoSub label]
引数
key-value Adv_Keysコマンドで定義された特定のkey値を指定します。
label Labelコマンドで定義したラベル名を指定します。
参考
ラベルが指定されていない場合、Onkeyコマンドで指定されていたKey値はクリアされます。
OnKeyコマンドであるキーが横取りされている場合はWaitコマンドに対するキー押下には数
えられません。そして、有効なAdv_Keysリストがない場合は、フライトシミュレータに対す
るキー押下になりません。
Note: OnKeyコマンドはAdv_Keysで指定したキーであることが必要です。.
使用例
ADV_KEYS ADD, KV(CTRL "r") 'Restart adventure.
ADV_KEYS ADD, KV(CTRL "u") 'Quit, bail out of adventure.
ONKEY KV(CTRL "r") GOSUB subMKeys_r
ONKEY KV(CTRL "u") GOSUB subMKeys_u
subMKeys_r:
PRINT "Restarting the current adventure."
RESET_ADVENTURE
RETURN
subMKeys_u:
GOTO MAIN_END
RETURN
MAIN_END:
END
OnStall コマンド
ユーザーの飛行機がストールした場合に特別のサブルーチンをコールする場合にそのラベル
名を指定します。
構文
OnStall [GoSub label]
引数
label名はLabelコマンドによって定義します。
参考
ラベル名が指定されなかった場合にはOnStall命令はクリアされます。
使用例
ONSTALL GOSUB subRecover
SubRecover:
PRINT "Nose on the horizon, wings level, add power."
RETURN
Performance コマンド
APLインタープリターへのコールの頻度と一度のコールでいくつの命令を実行するかをセット
します。多数の変数を頻繁に監視している様な場合はPerformanceをHIGHにセットすると良い
でしょう。この場合、フレームレートの減少等アプリケーション全体のパフォーマンスとの
トレードオフになります。通常はデフォルト値のままが適当です。
構文
Performance keyword [command count]
引数
キーワードは以下の通りです。
LOW 1秒に1回
MEDIUM 1秒に6回
HIGH 1秒に18回
FRAME 1フレーム毎に1回
DEFAULT インタープリターに1秒に6回コールし、1コールで3コマンドを処理します。
(従って、1秒に18命令実行されます。)
command count 1コール毎のコマンド処理数を指定します。
参考
keyword がDEFAULTの時はcommand countを指定する必要はありません。
使用例
'Preferred setting for adventures.
PERFORMANCE HIGH 5
Play コマンド
stringで指定された音声ファイルを再生します。音声ファイルはWindows圧縮形式か非圧縮の.WAV
形式である必要があります。拡張子.WAVを指定する必要はありません。また、相対パスを指定する
事ができます。
構文
Play string
参考
AdventuresとLessonsディレクトリーには各々 .wavサブディレクトリーがあります。
それぞれのサブディレクトリーが最初にサーチされ、それ以降は以下に順番で探します。
1. .\WAV
2. \ADV\WAV
3. \ADV\WAV\CACHE
4. FS2000.CFG の [APL] section, WAVE= valueで指定されたディレクトリー
5. FS2000のルートから下位の全てのサブディレクトリー
PLAY ''''で再生は即座に停止されます。
使用例
'Plays the file: OH001.WAV.
PLAY "OH001"
'Plays the file: ADDON\WAV\OH001.WAV under the \FS2000 root.
PLAY "ADDON\WAV\OH001"
Play_Video コマンド
フライトシミュレータの .vidファイルを再生します。
構文
Play_Video string
引数
stringは.vidファイルが入っているディレクトリー内のファイル名です。(デフォルトではFS2000の
.vidファイルは\Pilotsサブディレクトリーに入っています。) このstringには.vidファイルのファ
イル名にフルパスをつけても構いません。
参考
ビデオの再生が終了するまでプログラムの実行は停止しています。
使用例
PLAY_VIDEO "Test.VID"
Precision コマンド
Print and Scrollコマンドが使われた時に表示される数値の精度を制御します。
構文
Precision left, right-min, right-max
引数
left 表示する数値の小数点の左側の桁数を指定します。
必要であれば0で埋めます。
right-min 表示する数値の小数点の右側の最低桁数を指定します。
必要であれば0で埋めます。
right-max 表示する数値の小数点の右側の最大桁数を指定します。
参考
デフォルト値はleft = 1, right-min = 0, right-max = 3でこれらの三つの値の最大値は
いずれも 9です。
以下の例はPrecisionに特定の設定した時に表示される結果を示します。
Value is 1, left=1, right-min=0, right-max=0, displays 1
Value is 1, left=1, right-min=0, right-max=2, displays 1
Value is 1, left=1, right-min=2, right-max=2, displays 1.00
Value is 1, left=3, right-min=0, right-max=0, displays 001
使用例
DECLARE iVAL
iVAL = 1.001
PRECISION 1, 0, 0
PRINT iVAL
Result: 1
Print コマンド
メッセージウインドウへ出力します。
構文
Print print-list
引数
print-listは0またはそれ以上の項目です。各々の項目は文字列かコンマで仕切られた数式で
ある必要があります。もし、コンマで終っている時は次のPrintコマンドのテキストにコン
カチされます。(メッセージウインドウは新しいラインではなく、ラインの終わりに続きます。)
参考
複数の項目をコンマでコンカチした場合、各々のPrintコマンドはPrint_Timeコマンドによって
指定された表示時間を累積していきます。例えばPrint_Timeの値がデフォルトの5秒の時、
三つの別々のPrintコマンドは15秒表示されます。コンカチしたメッセージを出力する前に
Print_Timeの値を減らしたり、メッセージの後にWait_Messageコマンドを入れてメッセージ
の出力を待たせることにより増加させたりすることができます。
使用例
PRINT "Hello world."
PRINT "Hello world. ", "I am HAL."
DECLARE Test_Value
Test_Value = 123
PRINT "Test value is: ", Test_Value
Print_Time コマンド
他のPrintやScrollコマンドによって中断されない場合に、Printコマンドによりメッセージを
表示する時間を指定します。
構文
Print_Time time
引数
timeは秒で指定します。デフォルトは5秒です。.
使用例
'Set the print time to 2 seconds.
PRINT_TIME 2
PRINT "Hello world."
Rem コマンド
Remコマンドはコードにフルラインのコメントを付ける一つの方法です。BASICと同じ使い
方になります。Rem 以下の文字列は通常の文字列で引用符はキチンとつける必要があります。
それ以外の文法チェックは行われません。
構文
Rem comment
引数
commentはコメントテキストです。
使用例
REM This is a remark line. This line does not get executed.
'This is also a remark line. This line does not get executed.
Reset_Adventure コマンド
実行中のアドベンチャーやレッスンをリセットします。
構文
Reset_Adventure
使用例
ADV_KEYS ADD, KV(CTRL "r") 'Restart adventure.
ONKEY KV(CTRL "r") GOSUB subMKeys_r
subMKeys_r:
PRINT "Restarting the current adventure."
RESET_ADVENTURE
RETURN
Reset_Situation コマンド
現在のフライトファイルをリセットします。これはFlightメニューからReset Flightを選んだのと
同じ効果があります。
構文
Reset_Situation
使用例
Reset_Situation
Return コマンド
最後に実行されたGoSubコマンドに続く命令に復帰します。
構文
Return
使用例
GOSUB subTest
WHILE TRUE
WAIT 1
ENDWHILE
SubTest:
PRINT "I'll wait until you do something."
RETURN
Scroll コマンド
ScrollコマンドはPrintコマンドににていますがメッセージを一度に表示する替わりにメッ
セージウインドウ内を水平に移動させます。
構文
Scroll print-list
引数
print-listは0またはそれ以上の項目です。各々の項目は文字列かコンマで仕切られた数式で
ある必要があります。もし、コンマで終っている時は次のPrintコマンドのテキストにコン
カチされます。
(メッセージウインドウは新しいラインではなく、ラインの終わりに続きます。)
参考
Scrollコマンドは内部に400文字分のバッファーを持っています。コンマで終る一連の
Scroll文字列は400字以内である必要があります。スクリーンから出ていった文字はバッ
ファーからすぐに消去されます。 新しいScrollコマンドが実行された時にバッファーが
空でなければ、バッファーが空になるまで、Scrollコマンドの実行は停止されます。
これにより、メッセージテキストは一つのロジカルなScrollコマンドに結合できますが、
論理的に分けられたメッセージはコンマを付けないことにより別々に表示させること
もできます。
使用例
SCROLL "Test1", "Test2", "Test3", "Test4", "Test5", "Test6", "Test7", "Test8", "Test9"
Set_Position コマンド
ユーザーの飛行機を指定された地上の位置に置きます。
構文
Set_Position latitude, longitude, altitude
引数
latitudeとlongitudeは度でaltitudeはMSLのフィートで示します。
使用例
'Set the airplane position to runway 18 at Meigs.
NORTH_LATITUDE
WEST_LONGITUDE
SET_POSITION 41:51:57.4981, 087:36:27.1326, 593
South_Latitude コマンド
緯度を南緯で指定する宣言です。負で指定した時は北緯となります。
このコマンドは、レッスンやアドベンチャーが赤道や正子午線(又は180度線)を越える時がな
い場合に有効です。正の値となるので緯度経度の計算を行なう時に楽になります。
Note: デフォルトではNorth_LatitudeとWest_Longitudeになります。それ以外の場合は緯度、
経度変数を使用する前に指定しなければなりません。
構文
South_Latitude
使用例
'Australia
SOUTH_LATITUDE
EAST_LONGITUDE
'Chile
SOUTH_LATITUDE
WEST_LONGITUDE
Title コマンド
ファイルヘダーのアドベンチャーのタイトルを指定します。タイトルは最大60文字です。
構文
Title string
使用例
TITLE "APLC sample code."
Wait, Keypress コマンド
特定のキーが押されるか、指定された時間(または両方で)アドベンチャーを停止します。
構文
Wait time, keypress
引数
time アドベンチャーの停止時間を秒で指定します。
keypress 指定されたキーが押される事によりアドベンチャーを停止します。
参考
time 及び keypress 指定は両方共オプションです。但し、どちらかは指定する必要があり
ます。時間のみを指定した場合はどのキーが押されてもアドベンチャーは一定時間停止し
ます。keypressのみを指定した場合はユーザーがそのキーを押すまでアドベンチャーは
停止します。両方を指定した時には、アドベンチャーはキーが押されるか一定時間が経過
するいずれかの条件が満たされるまで停止します。
keypressを指定した場合、WaitはKey変数を押されたキーの値に変更するか制限時間が経過す
ると0に更新します。Wait 0, keypressを使用することにより、通常のプログラム実行中
にキーが押されたかチェックすることができます。keypressを指定していない時には
the Key変数はユーザーがキーを押した時には更新されますが、ユーザーがキーを押さな
かった時にはクリアされません。その結果、Keypressのない、一連のWaitコマンドを発行
hした後、Key変数をチェックすることで、一連の動きの中でユーザーがキーを押したか
どうかをチェックすることができます。
Note: WaitコマンドはAdv_Keysによって指定されたキーしか使用できません。
使用例
WAIT 10
ADV_KEYS ADD, KV(CTRL "r")
WAIT 15, KEYPRESS
Wait Message コマンド
最新のPrintコマンドやScrollコマンドによるスクリーンへのメッセージの表示が完了する
まで、プログラムの実行を停止します。
構文
Wait Message
使用例
SCROLL "Test1", "Test2", "Test3", "Test4", "Test5", "Test6", "Test7", "Test8", "Test9"
WAIT MESSAGE
Wait Play コマンド
キューにある全ての音声ファイルの再生が完了するまで、プログラムの実行を停止します。
構文
Wait Play
使用例
'Plays the file: OH001.WAV and waits until it finishes.
PLAY "OH001"
WAIT PLAY
West_Longitude コマンド
経度を西経で指定する宣言です。負で指定した時は東経となります。
このコマンドは、レッスンやアドベンチャーが赤道や正子午線(又は180度線)を越える時がな
い場合に有効です。正の値となるので緯度経度の計算を行なう時に楽になります。
Note: デフォルトではNorth_LatitudeとWest_Longitudeになります。それ以外の場合は緯度、
経度変数を使用する前に指定しなければなりません。
構文
West_Longitude
使用例
'Canada
NORTH_LATITUDE
WEST_LONGITUDE
'Chile
SOUTH_LATITUDE
WEST_LONGITUD
While コマンド
一般ループです。Whileコマンドは条件式が偽になるとマッチするEndWhileまで分岐します。
構文
While expression
参考
APLアドベンチャーやレッスンでWhileコマンドを使って以下の様な永久ループができる事がありま
す。
WHILE TRUE
ENDWHILE
使用例
WHILE PLANE_BANK > 5
PRINT "Turning left."
ENDWHILE
BACK TO MAIN INDEX BACK TO SDK INDEX
Last Update 2000/2/18