atc は 1 年あたり何百万人という旅行者の命を危険にさらすことなく飛行機の交通を 制御するという神経をすり減らす任務における技量を試します。 責任者であるあなたは管制空域と滑走路の内や外へジェット機やプロペラ機を 指示して飛ばさなければなりません。 飛行機のスピード (画面更新の間隔) と登場頻度は選んだ空域の難しさによって 決まります。
atc におけるあなたのゴールは可能な限りゲームを長く続けることです。 他のプレイヤの時間を破ること以外には、勝利の状態はありません。 あなたがしなければならないのは、滑走路から飛行機を (高度を上げるように 指示することによって) 離陸させること、滑走路に飛行機を (滑走路のちょうど真上で 高度が 0 となるように指示することによって) 着陸させること、そして出口 (exit point) の外へ飛行機を送り出すことです。
いろいろなことがゲームの終わりを引き起こします。 それぞれの飛行機は目的地 (「情報領域」参照) を持っており、 飛行機を違う目的地へ送るとエラーになります。 飛行機は燃料切れになることもありえますし、衝突することもありえます。 衝突は、3 次元のどれかの方向で隣り合った場合であると定義されています。 目的地以外の出口から飛行機が空域を離れるのも同じようにエラーです。
得点は無事だった飛行機の数の順番に並べられます。その他の統計は単に楽しみの ために提供されているだけです。他のプレイヤよりも時間をかけたことに対するペナルティは (同点の場合を除き) ありません。
ゲームの中断は許されません。talk メッセージを受けたとしても、です。 空港管制官が電話に呼び出されるなんて、そんなことがいつありましたっけ?
あなたが atc を走らせている端末に依存しますが、画面は 4 つの部分に分割されます。 ゲームの端末ドライバの部分は変更可能なように設計されているので、 あなたが遊んでいる版によっては表示形式に違いがあるかもしれないことを 強調しておいたほうがよいでしょう。このマニュアルの記述は ASCII 版の ゲームに基づいています。 しかしながら、ゲームのルールや入力形式には変更はないはずです。 Control-L は混乱しているかもしれない画面を描き直します。
このゲームにはコマンド補完インタフェースが組み込まれています。 いつでも、'?' を入力すれば可能な入力文字が表示されます。 バックスペース (あなたが使用している消去文字) を入力すると前に戻り、 コマンドの最後の部分を消します。 コマンドが完成したら、リターンを押せば入力されます。意味上のチェックはすべて この時に行なわれます。もし 1 つもエラーが見つからなかったら、コマンドは適切な 飛行機に送られます。チェックの段階でエラーが見つかった場合、間違った文に下線が 引かれ、(うまくいけば) 説明のメッセージがその下に表示されます。
コマンド構文は 2 つの部分に分けられます: 即時のみ と 延期可能 コマンドです。 即時のみ コマンドは次の更新で実施されます。 延期可能 コマンドも次の更新で実施することができますが、付加的な Delay コマンドと呼ばれる述語が後ろについている場合は例外です。
下の表において、構文 [0-9] はいずれかの 1 つの数字を意味し、 <dir> は 's' キーの周りのキー、つまり ``wedcxzaq'' にあてはまります。 絶対参照においては、'q' は北西すなわち 315 度にあてはまり、'w' は北すなわち 0 度にあてはまります。 相対参照においては、'q' は -45 度すなわち「左折 45 度」にあてはまり、'w' は 0 度すなわち「方向に変更なし」に当てはまります。
すべてのコマンドは飛行機を表す文字で始まります。 これはコマンドの受け取り手を示します。 大文字小文字は無視されます。
延期 (a/@) コマンドはどの 延期可能 コマンドに対しても付けることができます。 延期コマンドは飛行機が特定のビーコンに着いた時 (将来のバージョンでは他の物体に着いた時も) に行動を起こすような指示を 管制官が出せるようにします。
飛行機は空域に入ると マーク されます。このことは飛行機はレーダ画面では強調表示されることを意味しています。 飛行機は マーク消去 または 無視される こともあります。 マーク消去 された飛行機は強調なしモードで表示され、ダッシュの行が情報領域のコマンド フィールドに表示されます。飛行機は mark コマンドが発行されるまでこの状態で い続けます。何か他のコマンドが発行されても、コマンドが完了するとコマンド行は ダッシュの行に戻ります。
無視された 飛行機は延期可能なコマンドが処理された際に、自動的に マーク された状態に切り替えられる点を除き、マーク消去された飛行機と 同じように扱われます。この機能はまだ完全には飛行道程が 設定できていない飛行機を、少しの間忘れていたい時に便利です。
コマンド、マーク付け、マーク消去、そして無視のすべては次の更新の始めから効果が 現れます。飛行機がすぐに強調なしモードに移らないからといって 驚かないでください。
ジェット機は更新の度に移動し、プロペラ機は 1 度おきの更新毎に移動します。
すべての飛行機は 1 回の移動で最高 90 度曲がれます。
飛行機は 7000 フィートで入ってきて、9000 フィートで出ていきます。
滑走路の上以外の場所で飛行機が高度 0 で飛ぶと墜落します。
滑走路の上で待っている飛行機ができるのは離陸 (高度を上げる) のみです。
Game_List ファイルには現在利用可能な競技場が記録されています。競技場を記述した新しい ファイルを「利用可能」にするためには、このファイルに、新しいファイルの 名前を書く必要があります。 プレイヤがこのファイルに書かれていないファイルを指定した場合、彼の得点は 記録されません。
競技場記述ファイルは 2 つの部分に分けられます。1 番目の部分は定義部です。 ここでは、4 つの調節可能なゲーム・パラメータが設定されなければなりません。 これらの変数は以下の文法で設定されます:
変数は以下のうちの 1 つです: update, 強制更新の間隔の秒数を指定します。 newplane, 新しい飛行機が入ってくる間隔の (だいたいの) 更新回数を指定します。 width, 競技場の幅を指定します。そして height, 競技場の高さを指定します。
競技場記述ファイルの 2 番目の部分は出口やビーコン、滑走路、線の場所を 記述します。文法は以下の通りです:
ビーコンに対しては、(括弧でくくられた) 単純な x, y 座標組が用いられます。 滑走路と出口には 3 番目の値、方向を示す wedcxzaq のうちの 1 つが必要です。 滑走路に対しては、これは飛行機が離陸または着陸しなければならない方向で、 出口に対しては、これは飛行機が競技場に 入る 時の方向です。これは直観的ではないように見えるかもしれませんが、 出口の方向には何の制限もないので、これで適切なのです。 線は終端を指定するのに 2 つの座標組を必要とするため、少し違います。 これらの終端は角括弧で囲まれなければなりません。
すべての文はセミコロン (;) で終わります。複数項目文は並べて書きます。 それぞれの定義はどの項目の文よりも前に、1 度だけ行なわれなければなりません。 コメントはハッシュ (#) 記号より始まり改行で終了します。 座標は 0 から始まり、 width-1 と height-1 で終わります。出口のすべての座標は 枠上に置く必要があり、すべてのビーコンと滑走路は枠よりも内側に置く 必要があります。 線の終端は競技場内のどこでもかまいませんが、 線が横か縦か ちょうど斜め になる必要があります。
# これは default ゲームです。 update = 5; newplane = 5; width = 30; height = 21; exit: ( 12 0 x ) ( 29 0 z ) ( 29 7 a ) ( 29 17 a ) ( 9 20 e ) ( 0 13 d ) ( 0 7 d ) ( 0 0 c ) ; beacon: ( 12 7 ) ( 12 17 ) ; airport: ( 20 15 w ) ( 20 18 d ) ; line: [ ( 1 1 ) ( 6 6 ) ] [ ( 12 1 ) ( 12 6 ) ] [ ( 13 7 ) ( 28 7 ) ] [ ( 28 1 ) ( 13 16 ) ] [ ( 1 13 ) ( 11 13 ) ] [ ( 12 8 ) ( 12 16 ) ] [ ( 11 18 ) ( 10 19 ) ] [ ( 13 17 ) ( 28 17 ) ] [ ( 1 7 ) ( 11 7 ) ] ;
ファイルは特別なディレクトリに保存されています。このパスを表示させるには 「オプション」を見てください。
Ed James, UC Berkeley: edjames@ucbvax.berkeley.edu, ucbvax!edjames
数年前に何か見知らぬ PC のために書かれたゲームについて 誰かが記述した全体的な特色を、このゲームは元にしています、たぶん。
あなたがやめてから画面が描き直されることがときどきあります。
このゲームを開発している間に更なる curses のバグが見つかりました。 もしあなたの curses ライブラリの clrtobot.o のバージョンが 5.1 またはそれ以前であれば、入力ウィンドウでの後退動作による消去に 問題があるでしょう。