-
Notifications
You must be signed in to change notification settings - Fork 1
Minipelien alustaminen ja rakenne
Minipelien lisääminen CoolBasic Party Packiin on pyritty tekemään mahdollisimman helpoksi ja yksinkertaiseksi. Tällä hetkellä minipeli sisältää vain 3 pakollista koodiriviä, jotta peli on käyttökelpoinen. Sen lisäksi tarvitaan 2 tiedostoa pelin tietojen hakemiseksi.
Minipeli lisätään kokoelmaan kutsumalla API_AddGame(nimi$)
.
Funktio lataa muut tiedot tiedostosta Games/pelin nimi/gameinfo.ini. Tiedosto on tavallinen asetustiedosto, jossa voi olla seuraavat arvot:
#Pakolliset tiedot (puuttuminen aiheuttaa virheilmoituksen):
#Pelin selite (kertoo pelin tavoitteen ja voittoehdon)
Desc
#Pelaajien kontrollit (näppäimiin viitataan %näppäimen vakio%, esim. %ACTION1%)
Controls
#Pelaajien kokoonpanot, jos peli tukee useampia, erotetaan pilkuilla. Mahdolliset arvot ALLvs, 1vsALL, TEAMvs
PlayerSetup
#Vapaaehtoiset tiedot (käytetään oletusarvoja, jos ei ilmoiteta):
#Maksimimäärä pelaajia (oletus 4)
MaxPlayers
Pelillä täytyy myös olla logo. Logo on 100x100 kokoinen png-tiedosto, tallennettuna Games/pelin nimi/logo.png. Jos kuva ei ole 100x100, se venytetään automaattisesti. Peli täytyy myös lisätä Games.CB tiedoston MAIN_Start() funktion Select...Case rakenteeseen, että se voidaan käynnistää. Lisättävänä on 2 riviä:
Case "pelin_nimi"
TUNNUS_Game(GameData)
Jokaiselle pelille on oma tunnus, jota tulee käyttää kaikkien globaalisti näkyvien nimien etuliitteenä. Tunnus sisältää kaksi kirjainta, jotka kertovat pelin tekijän (esim. aXu => AX) ja kaksi numeroa, jotka kertovat pelin järjestysnumeron lähtien nollasta (esim. aXun kolmas peli => AX02) sekä alaviivan (esim. AX02_Taulukko).
Peli koostuu pienimmillään API_AddGame("nimi")
kutsusta ja TUNNUS_Game(GameData)
-funktiosta. Funktio sisältää itse pelin. Peli kirjoittaa lopputuloksen taulukkoon API_PlayerScore(pelaajaNro)
, jokaiselle pelaajalle karttuneet pisteet (huom. taulukko alustetaan täyteen nollia aina ennen minipeliä. Varsinainen pistetilanne tallennetaan toiseen taulukkoon). Funktion palautusarvoa ei lueta (eli funktion ei tarvitse palauttaa mitään).
GameData on muistipala, joka sisältää senhetkisen minipelin asetukset, kuten pelaajamäärän, handicapit (vaikeustaso) ja pelaajien kokoonpanon. Pelaajat on järjestetty valmiiksi niin, että 1vsALL kokoonpanolla ykköspelaaja on yksin ja TEAMvs ensimmäinen puolisko pelaajista on toisessa joukkueessa ja loput toisessa (parittomalla määrällä isompi joukkue ensin). Tiedot saadaan API_GetData(GameData, haettavaTietue)
. Lista haettavien tietueiden vakioista: (todo: tee lista :D )