Manpages

NIMI

atc − Lennonvalvontapeli

YLEISKATSAUS

atc -[u?lstp] [-[gf] pelin_nimi] [-r satunnaissiemen]

KUVAUS

Atc antaa sinun yrittää olla lentoliikenteen valvoja, vaarantamatta miljoonien matkustajien ihmishenkiä vuodessa.

Sinulla on vastuu toimia lentoliikenteen valvojana ja saattaa kaikki lentokoneet turvallisesti maahan ja maasta ylös.

Lentokoneiden nopeus (päivitysaika) ja tiheys riippuu sinun valitsemastasi vaikeustasosta ja paikasta.

OPTIOT

−u

Tulostaa näytölle ohjeen ja lopettaa ohjelman.

−?

Sama kuin −u.

−l

Tulostaa näytölle listan vapaina olevista peleistä ja lopettaa ohjelman. Ensimmäinen peli tulostuu oletuspelinä.

−s

Tulostaa pistetaulukon (kymmenen parhaan pisteet).

−t

Sama kuin −s.

−p

Tulostaa polun erityishakemistoon, jossa atc olettaa löytävänsä yksityiset tiedostot. Tätä käytetään ohjelman asentamisen aikana.

−g peli

Pelaa parametrinä annettua peliä. Jos peliä, jota yrität pelata ei ole tulostettuna näytölle −l parametrilla, pelataan oletuspeliä.

−f peli

Sama kuin −g.

−r satunnaissiemen

Asettaa satunnaisen siemenen. Tämän parametrin tarkoitus on kyseenalainen.

Tavoite

Sinun tavoitteesi atc:ssä on pitää peliä pystyssä mahdollisimman kauan. Pelissä ei ole voittoasemaa, lukuunottamatta voittaa useita kertoja muut pelaajat. Sinun pitää vain lähettää lentokoneita lentokentiltä (kertomalla heille ohjeita korkeuden nostamisesta), saada lentokoneet laskeutumaan lentokentille (kertomalla heille mihin korkeuteen heidän pitää mennä milloinkin ja tietenkin nollaan juuri lentokentän yläpuolella), ja liikutella koneet turvallisesti pois lentokenttäalueelta.

Seuraavat asiat aiheuttavat pelin loppumisen. Jokaisella lentokoneella on kohde (katso tietoalue) ja lentokoneen lähettäminen väärään kohteeseen on virhe. Lentokoneet voivat lentää polttoaineen loppumiseen asti tai tuhoutua. Tuhoutuminen on määritelty kolmen mitan läheisyyteen. Lentokone, joka lähtee lentokentältä jotain toista tietä, on myös virhe.

Pisteet on lajiteltu paremmuusjärjestykseen pelastettujen lentokoneiden mukaan. Muut tilastot ovat omistettuja huville. Pelissä ei ole mitään rangaistusta olla hitaampi, kuin jokin muu pelaaja.

Pelin sammuttaminen ei ole sallittua. Ei edes talk-pyyntöön saa vastata. Milloin muka lennonvalvojia pyydetään muualle puhelimeen?

Näyttö

Riippuen päätteestä, jolla pelaat atc:tä, näyttö on jaettu neljään alueeseen. Versiosi voi olla suunniteltu juuri sinun päätteellesi, sillä peli on suunniteltu uudelleen konfiguroitavaksi, joten näytön sisältö voi riippua siitä versiosta, mitä pelaat. Tuntomerkit ovat peräisin pelin ascii-versiosta. Pelin säännöt ja syötemuoto ovat kuitenkin yhdenmukaiset. Control-L piirtää näytön uudelleen.

TUTKA

Ensimmäinen näytön alue on tutkanäyttö, joka näyttää lentokoneet, lentokentät, tavalliset sisääntulo- ja lähtöpaikat, tutka-asemat ja viivat, jotka osoittavat koneiden lentoreitit.

Lentokoneet näytetään yksittäisinä kirjaimina, korkeuden kanssa. Jos numeerinen korkeus on yksittäinen numero, silloin se osoittaa korkeuden tuhansissa jaloissa. Joitain erityispiirteitä on suihkukoneiden ja potkurikoneiden välillä. Ascii-terminaaleissa potkurikoneet on piirretty ISOILLA kirjaimilla ja suihkukoneet pienillä kirjaimilla.

Lentokentät on esitetty numeroina ja joskus suuntalukemina, joiden mukaan lentokoneiden on pakko laskeutua lentokentälle. Ascii-terminaaleissa suunta on joko ’^’, ’>’, ’<’ tai ’v’ ja osoittavat pohjoista (0 astetta), itää (90 astetta), länttä (270 astetta) ja etelää (180 astetta), mainitussa järjestyksessä. Lentokoneet myös nousevat tähän suuntaan.

Asemat on näytetty ympyröinä tai asteriskeinä ja numeroina. Niiden tarkoitus on kertoa paikka helpolle kulkuopastukselle lentokoneiden kuljettajille. Katso ’viive komento’ tietojen syöttö -kappaleesta tästä dokumentista.

Tulo- ja lähtöpaikat on näytetty numeroina pitkin tutkaruudun reunaa. Lentokoneet voivat tulla alueelle näistä paikoista ilman varoitusta. Näillä tulopaikoilla on suunta omistettuna niille ja lentokoneet tulevat aina tässä suunnassa. Atc:n ascii-versiossa näitä tietoja ei ole näkyvissä. Ne tulevat silminnähtävästi niistä suunnista, joissa on peli pystyssä.

Tulevat lentokoneet tulevat aina alueelle samassa korkeudessa: 7000 jalkaa. Lentokoneen, joka lentää alueesi läpi, on lennettävä aina 9000 jalassa. Se ei ole tarpeellista niille koneille, jotka lentävät johonkin suuntaan lähtiessään alueelta (vielä).

Tiedotusalue

Toinen näytön alue on tiedotusalue, mikä kertoo ajan (päivityksien määrän aloituksen jälkeen) ja lentokoneiden määrän, jotka olet ohjannut turvallisesti alueelta pois. Tämän rivin alapuolella on lista lentokoneista, jotka ovat juuri nyt ilmatilassa, erotettuna tyhjällä rivillä ja sen jälkeen on lista lentokoneista maassa (lentokentillä). Jokainen rivi kertoo lentokoneen nimen, tämän hetkisen korkeuden, optiona asteriskin kertomaan loppumassa olevasta polttoaineesta, lentokoneen kohteen ja lentokoneen sen hetkisen komennon. Korkeuden muuttaminen ei ole listattu komentona. Seuraava rivi näyttää jonkin mahdollisen tilarivin lentokoneesta:

B4*A0: Circle @ b1
g7 E4: 225

Ensimmäinen esimerkki kertoo, että kyseessä on potkurikone nimeltään ’B’, joka lentää 4000 jalassa. Lentokoneen polttoaine on lopussa (katso ’*’). Sen kohde on lentokenttä #0. Seuraava komento käskee lentämään ympyrää, kunnes se lentää tutka-asemalle #1. Seuraava esimerkki kertoo suihkukoneesta nimeltään ’g’, joka lentää 7000 jalassa, kohteenaan poismenopaikka #4. Se on juuri nyt menossa 225:n asteen kulmassa (lounaaseen).

Tietojen syöttöruutu

Kolmas alue näytöstä on tietojen syöttöalue. Se on täällä heijastamassa syöttämäsi tiedot. Katso Tietojen syöttö -otsikon alta tästä manuaalista lisätietoja.

Tekijäalue

Tämä alue on yksinkertaisesti tarkoitettu kertomaan tekijä. :-)

Tietojen syöttö

Komentojen täydellinen käyttöliittymä on rakennettu myös itse peliin. Milloin tahansa painamalla ’?’, listaa kaikki mahdolliset syöttömerkit. Painamalla askelpalautinta (merkin poistonäppäin) palaa takaisin, poistamalla viimeisen osan komennosta. Kun komento on täydellinen ja kirjoitettu loppuun, return laittaa sen käytäntöön ja semanttinen tarkistus tehdään. Jos virheitä ei ole havaittu, komento lähetetään kyseessä olevalle lentokoneelle. Jos virhe löydetään tarkistuksen aikana, asemasi pisteet laskevat ja (toivottavasti) selostus virheestä tulostetaan sen alle.

Komennon syntaksi on hajoitettu kahteen osaan: Välttämättömät ainoastaan ja Viiveelliset komennot. Välttämättömät ainostaan komennot tapahtuvat seuraavassa päivityksessä. Viiveelliset komennot myös tapahtuvat seuraavassa päivityksessä, jollei optiona ole annettu Viive-komentoa.

Allaolevissa taulukoissa syntaksi [0−9] tarkoittaa yksittäistä numeroa ja <dir> tarkoittaa näppäimiä näppäimen ’s’ ympärillä, nimittäin ’’wedcxzaq’’. Ehdottomissa suosituksissa, ’q’ tarkoittaa luodetta tai 315 astetta ja ’w’ tarkoittaa pohjoista tai 0 astetta. Suhteellisissa suosituksissa ’q’ tarkoittaa -45 astetta tai 45 astetta oikealle ja ’w’ tarkoittaa 0 kulmaa tai ei muutoksia suuntaan.

Kaikki komennot alkavat lentokoneen kirjaimella. Tämä tarkoittaa komennon vastaanottajaa. Tila on jätetty huomiotta.

Vain välttämättömät komennot

− a Altitude: määrää lentokoneelle korkeuden (ja nousun).
− [0−9] Number:

Mene annettuun korkeuteen (tuhansina jalkoina).

− c/+ Climb:

Relatiivinen korkeuden muutos ylöspäin.
− [0−9] Number:

Ero tuhansissa jaloissa.

− d/− Descend:

Relatiivinen korkeuden muutos alaspäin.
− [0−9] Number:

Ero tuhansissa jaloissa.

− m Mark:

Näytä korostettuna tila. Komento näytetään normaalisti.

− i Ignore:

Älä näytä korostettuna. Komento on näytetty näytöllä katkoviivoina, jos ei ole komentoa annettuna.

− u Unmark:

Sama kuin jätä huomiotta, mutta jos viivytetty komento on käsittelyssä, lentokone tulee merkityksi. Tämä on käytännöllistä, jos haluat unohtaa koneen lyhyen aikaa.

Viivytettävät komennot:

− c Circle:

Laittaa lentokoneen kiertämään ympyrää (myötäpäivään oletuksena).
− l Left:

Kaarra vastapäivään.

− r Right:

Kaarra myötäpäivään.

− t Turn:

Muuta suuntaa.
− l Left:

Käänny vastapäivään (45 astetta oletuksena).
− <dir> Direction:

Käänny vastapäivään annettuun numeroon asteina. Nolla kulma ei käännä. Vastapäivään -45 on sama kuin 45 myötäpäivään.

− r Right:

Käänny myötäpäivään (45 astetta oletuksena).
− <dir> Direction:

Sama kuin käänny vasempaan <dir>.

− L Left 90:

Käänny vastapäivään 90 astetta.

− R Right 90:

Käänny myötäpäivään 90 astetta.

− <dir> Direction:

Käänny absoluuttiseen kompassisuuntaan. Lyhyin kääntö valitaan.

− t Towards:

Kääntyy kohti jotakin tutka-asemaa, lentokenttää tai poismenopaikkaa. Suunta on vain arviolaskelma.
− b/* Beacon:

Käänny tutka-asemalle.
− [0-9] Number:

Tutka-aseman numero.

− e Exit:

Käänny poismenopaikkaan päin.
− [0-9] Number:

Poismenopaikan numero.

− a Airport:

Kääntyy lentokentälle päin.
− [0-9] Number:

Lentokentän numero.

Viivekomento
Delay
(a/@) -komento voidaan liittää mihin tahansa viivytettävään komentoon. Sen avulla lennonvalvoja voi neuvoa konetta tekemään jotain, kun se saavuttaa jonkin tutka-aseman (tai muun kohteen tulevissa versioissa).

− a/@ At:

Tee viivytetty komento, kun lentokone tulee annetulle tutka-asemalle.
− b/* Beacon:

Tämä on vain lisäoptio tuleville laajennuksille.
− [0-9] Number:

Tutka-aseman numero.

Merkkaamista, Merkintöjen poistamista, huomiotta jättämistä
Lentokoneet ovat merkattuja, kun ne tulevat alueellesi. Se tarkoittaa sitä, että ne näytetään korostettuina tutkanäytössä. Lentokone voi myös olla ei-merkattu tai huomiotta jätetty. Ei-merkattu lentokone on ei-korostetussa tilassa ja katkoviiva on näytetty informaatioalueella. Lentokone pysyy tässä tilassa kunnes mark-komento on annettu. Jokin muu komento voidaan antaa katkoviivalla, kunnes komento on suoritettu.

Huomiotta jätetty lentokone on sama kuin ei-merkattu lentokone, kunnes se automaattisesti vaihtuu merkatuksi, kun komento on suoritettu. Tämä on käytännöllistä, jos haluat unohtaa lentokoneen vähäksi aikaa, mutta lentopolku ei ole vielä täydellisesti säädetty.

Kaikki komennot, merkkaukset, ei-merkkaukset ja huomiotta jättämiset tulevat voimaan vasta seuraavan päivityksen alussa. Eli älä ole yllättynyt, jos lentokone ei heti vaihda ei-merkattuun tilaan.

Esimerkit

atlab1

a: käänny vasempaan tutka-asemalta #1

cc

C: ympyrä

gtte4ab2

g: Käänny poismenopaikkaan #4 tutka-asemalta #2

ma+2

m: korkeus: nouse 2000 jalkaa

stq

S: käänny 315:a asteeseen

xi

x: jätä huomiotta

Muuta tietoa

Suihkukoneet liikkuvat joka vuorolla; potkurikoneet liikkuvat joka toisella vuorolla.

Kaikki lentokoneet kääntyvät enintään 90 astetta yhdellä vuorolla.

Lentokoneet tulevat 7000 jalassa ja lähtevät 9000 jalassa.

Lentokoneet, jotka lentävät korkeudessa 0, hajoavat, jos ne eivät ole lentokentällä.

Lentokoneet lentokentillä voivat ainoastaan nousta ilmaan (nostaa korkeutta).

Uudet pelit

Game_list -tiedosto listaa kaikki vapaana olevat pelipaikat. Uusi pelipaikka selitetään tiedostonimellä, jonka täytyy olla tässä tiedostossa ’playable’. Jos pelaaja määrittää pelin, joka ei ole tässä tiedostossa, hänen pisteensä eivät säily historiaan.

Pelin selityskenttätiedostot on jaettu kahteen osaan. Ensimmäinen osa on määrittelyosa. Täällä on neljä säädettävää peliparametriä, jotka täytyy asettaa. Nämä muuttujat on asetettava seuraavan syntaksin mukaan:

muuttuja = numero;

Muuttuja täytyy olla joku seuraavista: update, osoittaa ajan sekunteina, jolloin päivitykset tulevat aina. newplane, osoittaa numeron päivityksistä uusien koneiden välillä. width, osoittaa leveyden pelipaikalla ja height, osoittaa korkeuden pelipaikalla.

Toinen osa selitystiedostoista kertoo poismeno-, tutka-asema- ja lentokenttäpaikat ja -linjat. Syntaksi on alla:

beacon: (x y) ... ;
airport: (x y direction) ... ;
exit: (x y direction) ... ;
line: [ (x1 y1) (x2 y2) ] ... ;

Tutka-asemille on pelkkä x,y koordinaattipari. Lentokentille ja poismenopaikoille on kolmas arvo, suunta, mikä on joku seuraavista. wedcxzaq. Lentokentille tämä on suunta, joka määrää mihin suuntaan lentokoneet nousevat ja laskeutuvat. Poismenopaikoille tämä on suunta, johon lentokoneet menevät, kun ne tulevat alueelle. Tämä ei näytä kovinkaan intuitiiviselta, mutta koska täällä ei ole rajoituksia poismenopaikkojen suunnalle, tämä on asianmukaista. Viivat ovat erilaisia, koska ne tarvitsevat kaksi koordinaattiparia osoittamaan viivojen päätepisteitä. Päätepisteiden on oltava hakasuluissa.

Kaikki määrittelyt ovat puolipisteellä erotettuja. Toistuvat määrittelyt ovat kerääntyviä. Jokainen määrittely on suoritettava erikseen, ennen esineiden määrittelyjä. Kommenttirivit alkavat risuaidalla (#) ja jatkuvat rivin loppuun. Koordinaatit ovat välillä nolla ja leveys-1 ja korkeus-1. Kaikkien poismenopaikkojen koordinaatit täytyy asettaa reunoille ja kaikki tutka-asemat ja lentokentät on oltava reunojen sisällä. Viivojen loppupisteet voivat olla missä vain pelikentällä, niin kauan kuin viivat ovat vaakasuoria, pystysuoria tai 45 astetta kallellaan

Pelikentän esimerkkitiedosto

# This is the default game.

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 ) ] ;

TIEDOSTOT

Tiedostot pidetään erityisessä hakemistossa. Katso kohdasta OPTIOT, miten tulostaa tämä polku.

ATC_score

Missä pisteet säilytetään.

Game_List

Lista pelattavista peleistä.

TEKIJÄ

Ed James, UC Berkeley: edjames [AT] ucbvax.edu, ucbvax!edjames

Tämän pelin pohjana on ollut jonkun kuvaus erään, jollekin tuntemattomalle PC:lle vuosia sitten tehdyn, pelin yleisestä vaikutelmasta.

BUGIT

Näyttö virkistetään joskus, kun pelaaja on lopettanut.

Jälleen eräs curses-bugi löydettiin kesken tämän pelin kehityksen. Jos sinun curses-kirjastotiedostosi clrtobot.o on versiota 5.1 tai aikaisempi, sinulla tulee olemaan ongelmia askelpalauttimen kanssa tietojen syöttöikkunassa.