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.