Minipelien alustaminen ja rakenne - aXu-AP/CoolBasic-Party-Pack GitHub Wiki
Minipelien lisääminen CoolBasic Party Packiin on pyritty tekemään mahdollisimman helpoksi ja yksinkertaiseksi. Tällä hetkellä minipelin täytyy sisältää vain 3 pakollista tiedostoa, jotta peli on käyttökelpoinen. Sen lisäksi tarvii näiden tiedostojen lisäämisen jälkeen ajaa skripti pääpelin hakemistosta.
Jokaiselle pelille on oma tunnus. 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).
Tunnusta tulee käyttää kaikkien globaalisti näkyvien nimien etuliitteenä.
- Jokaisen minipelin pakolliset tiedostot:
-
Games/TUNNUS/main.cb
pelin ohjelmakoodi -
Games/TUNNUS/gameinfo.ini
pelin asetustiedosto -
Games/TUNNUS/logo.png
pelin logo
Pelin ohjelmakoodi voi pienimmillään koostua kahdesta funktiosta:
-
TUNNUS_Game()
Minipelin suoritus tapahtuu täällä -
TUNNUS_End()
Apufunktio joka poistaa pelin aikana varatut muistipalat, tyhjentää taulukot ja tyyppikokoelmat
Esimerkki mikäli tunnus olisi AA00:
Function AA00_Game()
Repeat
Text 0,0,"Test"
API_Drawscreen()
Until API_Keyhit(0,API_ACTION1)
EndFunction
Function AA00_End()
EndFunction
#Pakolliset tiedot (puuttuminen aiheuttaa virheilmoituksen):
#Pelin nimi (mahdollisimman kuvaava)
Name = Napinpainamispeli
#Pelin selite (kertoo pelin tavoitteen ja voittoehdon)
Desc = Paina nappia ensimmäisenä!
#Pelaajien kontrollit (näppäimiin viitataan %näppäimen vakio%, esim. %ACTION1%)
Controls = %ACTION1%: voita peli
#Pelaajien kokoonpanot, jos peli tukee useampia, erotetaan pilkuilla. Mahdolliset arvot ALLvs, 1vsALL, TEAMvs
PlayerSetup = ALLvsALL
#Vapaaehtoiset tiedot (käytetään oletusarvoja, jos ei ilmoiteta tai epäkelpo arvo):
#Minimimäärä pelaajia (oletus 1)
MinPlayers = 2
#Maksimimäärä pelaajia (0 eli oletus suurin mahdollinen)
MaxPlayers = 0
#Tukeeko peli tekoälyn ohjaamia hahmoja (YES/NO, oletus NO)?
SupportAI = YES
#Tukeeko peli tasoitusta (YES/NO, oletus NO)? Jos ei, pääpeli muokkaa lopputulosta tasoitusarvojen mukaan
SupportHandicap = NO
#Mille vaikeustasolle peli on suunnitelty (1-3) vai tukeeko kaikkia (0, oletus)
Difficulty = 0
#Onko FPS-riippumaton (YES/NO, oletus NO)?
FPSIndependent = YES
Pelillä täytyy myös olla logo. Logo on 100x100 kokoinen png-tiedosto, tallennettuna Games/TUNNUS/logo.png. Jos kuva ei ole 100x100, se venytetään automaattisesti.
Jotta lisätyt minipelit löytävät tiensä myös pääohjelmaan täytyy ajaa koodi Getgames.cb joka hakee minipelit ja niiden koodit ja liittää ne osaksi pääohjelmaa.