JASS | |
---|---|
Kieliluokka | tapahtumalähtöinen |
Toteutustyyppi | tulkittu |
Esiintyi | 2001 |
Tekijä | Blizzard Entertainment |
Tyyppijärjestelmä | staattinen |
Murteet | vJASS , cJASS , SINKKI |
JASS (English Just Another Scripting Syntax ) on Blizzard Entertainmentin luoma tapahtumaohjattu komentosarjaohjelmointikieli . Käytetään peleissä , kuten Warcraft 3 ja Starcraft[ mitä? ] .
Warcraft III:ssa JASS-skriptejä käytetään pelimaailman esineiden ja tietokonevastustajien ohjaamiseen. Se antaa sinulle lähes täydellisen vapauden hallita peliä, kun luot mukautettuja skenaarioita Warcraft III:lle.
Pelin mukana tulee Warcraft III World Editor, joka sisältää graafisen käyttöliittymän skriptien kirjoittamiseen JASS-kielellä.
Temaattisissa verkkoresursseissa tavallisella triggerieditorilla tehtyjä skriptejä kutsutaan lyhyesti - GUI . "Ystävällisten" GUI- laukaisimien lisäksi on niiden tekstiversiot - JASS-kielen skriptien muodossa, joissa on edistyneitä ominaisuuksia verrattuna tavallisiin "editori"-laukaisimiin.
World Editorin mukana tulee vain perus-JASS-tulkki ja -editori, josta puuttuu syntaksin korostus , mikä vaikeuttaa sen käyttöä. Tämä on yksi tärkeimmistä syistä, miksi uudet Warcraft III -modiaattorit eivät pidä kielestä.
Vakioeditorin lisäksi on olemassa erikoisohjelmia, jotka helpottavat Jass- skriptien käyttöä . Näitä ovat JASS Craft (entinen JASS Shop Pro). Tämän ohjelman avulla voit luoda malleja triggereille, funktioille ja optimoida koodia . Lisäksi siinä on korostus ja sisäänrakennettu syntaksin tarkistus, jonka avulla voit testata skriptin virheitä lennossa.
Vuodesta 2007 lähtien Warcraft III -moddereiden keskuudessa Warcraft III -editorin harrastuslisäosa, JASS New Gen Pack, on saavuttanut suosiota. Se sisältää monien muiden hyödyllisten ominaisuuksien lisäksi syntaksin korostuksen ja tarkistuksen sekä vaihtoehtoisen JASS-kielen kääntäjän, joka tukee vJASS- ja cJASS-murteita .
JASS-skriptitiedostoilla voi olla .j- tai .ai-pääte.
JASS-kieli on funktiokieli. Toiminnot voivat olla käyttäjän määrittämiä ja alkuperäisiä (englanninkielisestä natiivi-natiivi). Kartantekijä (kartantekijä) voi itse ilmoittaa mukautetut funktiot, ja myös maailmaneditori generoi ne tietyissä tapauksissa automaattisesti (erityisesti mukautetut funktiot sisältävät ehtoja ja liipaisutoimintoja, silmukoita ja operaattoreita if then else. Tällaiset toiminnot on tallennettu war3mapiin. j-tiedosto kartta-arkiston sisällä. Alkuperäiset -funktiot ovat kehittäjien luomia, käyttäjä ei voi ilmoittaa niitä, ja ne on lueteltu Warcraft III -peliarkiston kahdessa JASS-päätiedostossa - common.j ja common.ai. (Siellä kuitenkin on tapa lisätä omia alkuperäisiä toimintoja Warcraftiin lisäkirjaston avulla.)
On myös joukko kehittäjien luomia mukautettuja toimintoja - blizzard.j, jota monet kartantekijät arvostelevat monien vuotojen ja yksittäisten toimintojen hyödyttömyyden vuoksi. Elävä esimerkki tästä ovat funktiot, joissa on yksinkertainen parametrien permutaatio, joilla ei ole semanttista kuormaa, mutta niiden suorittaminen vie aikaa.
Warcraft III -kartta on samassa MPQ-muodossa kuin muut pelin arkistot, ja sen laajennus on .w3m tai .w3x. Kartta-arkisto sisältää aina karttaskriptitiedoston - war3map.j, mutta se voi sisältää myös useita .ai-päätteisiä tiedostoja, jos käytetään tietokoneen vastustajien ei-standardista tekoälyä.
War3map.j-tiedoston tiedot kirjoitetaan sillä hetkellä, kun kartta tallennetaan editoriin, kun kielikääntäjä muuntaa trigger-tiedoston (war3map.wtg) tiedot lopulliseksi JASS-koodiksi, jota peli käyttää.
Kartta-arkiston tiedosto war3map.wtg sisältää tietoja GUI-triggereistä ja on tarpeen vain editorille. Ilman sitä on mahdotonta muokata karttakoodia tavallisilla muokkaustyökaluilla.
Esimerkkikoodi "Hei, maailma!" Jassissa:
Funktio HelloWorld ottaa soittimen p ei palauta mitään kutsu DisplayTextToPlayer(p, 0, 0, "Hei maailma!") lopputoimintoSama, mutta cJassissa:
void HelloWorld (pelaaja p) { DisplayTextToPlayer(p, 0, 0, "Hei maailma!") }HelloWorld-funktio ottaa paikallisen "player"-tyypin parametrin nimeltä "p" eikä palauta mitään ("nothing"). Tavallinen natiivitoiminto "DisplayTextToPlayer" kutsutaan rungossa. Tämä toiminto määrittää sen verkkosoittimen indeksin (kokonaislukutyyppinen muuttuja) , jolle viesti lähetetään; näytön koordinaatit (x, y; muuttujat, joiden tyyppi on real) — viestirivin sijainti.
Toisin kuin World Editorin graafisen laukaisueditorin käyttäminen , karttakoodin kirjoittaminen JASS:iin antaa kartantekijälle useita etuja: