CoolBasic/Perusteet ja ajettelumalli
Perusteet ja ajattelumalli
muokkaaMitä Ohjelmointi on?
muokkaaMeistä jokainen on joskus ohjelmoinut jotain. Esimerkiksi uuden puhelinnumeron lisääminen kännykkään, videon ajastaminen tai stereon kellon siirtäminen talviaikaan on ohjelmointia. Ohjelmointi on siis tiedon syöttämistä. Samaan tapaan tietokonetta voidaan ohjelmoida suorittamaan joku tehtävä tai sarja erilaisia tehtäviä. Ohjelmointi tietokoneelle tapahtuu ohjelmointikielellä, joka sisältää käskyjä tietokoneen ohjaamiseen. Toisin sanoen: ohjelmoija saa tietokoneen tekemään haluamiaan temppuja.
Ohjelmointikieliä on miljoona erilaista. Osa helppoja ja yksinkertaisia, osa vaikeita ja monimutkaisia. CoolBasic on valinnut käyttäjäystävällisen linjan. Useimmat muut ohjelmointikielet eivät sisällä niin monipuolisia käskyjä tietokoneen ohjaamiseen kuin CoolBasic. CoolBasic sisältää valmiita komentoja mm. kuvien piirtämiseen ja äänien soittamiseen. Ne sopivat erinomaisesti pelikäyttöön, ja CoolBasicin avulla tietokoneen komentaminen on helppoa.
Ohjelmoiminen tarkoittaa tietokonemaailmassa siis käskyjen kirjoittamista. Ne muodostavat ns. lähdekoodin, jonka CoolBasic kääntää tietokoneen ymmärtämään muotoon. Tietokoneet osaavat käsitellä vain nollia ja ykkösiä, joten "selkokielinen" lähdekoodi pitää tulkata nolliksi ja ykkösiksi. CoolBasic tekee tämän puolestasi. Tätä prosessia kutsutaan kääntämiseksi, jonka tuloksena on suoritettava EXE-ohjelma, eli valmis peli.
Ohjelmoiminen CoolBasicilla
muokkaaCoolBasic on nimensä mukaisesti BASIC-kieli. Siinä on paljon yhtäläisyyksiä muiden BASIC-kielien kanssa (Visual Basic, QBasic jne.). BASIC-kieli kehitettiin alun perin aloittelijoille, ja on sittemmin helppoutensa ansiosta kehittynyt yhdeksi suosituimmista ohjelmointikielistä. BASIC-kielestä on erilaisia variaatioita, ja CoolBasic on niistä yksi. CoolBasic erottuu joukosta monipuolisen komentovalikoimansa ja helppokäyttöisyytensä ansiosta.
Jos olet ennemmin ohjelmoinut BASIC-kielillä (tai jollain muulla ohjelmointikielellä), on sinun helppo siirtyä käyttämään CoolBasicia. Kielen rakenne on kutakuinkin sama, ja perusrakenteet, kuten ehdot ja silmukat toimivat niin kuin missä tahansa muussa ohjelmointikielessä.
Konetta käskytetään komennoilla, ja koodirakenteilla. Koodirakenteita ovat esimerkiksi:
- ehdot (JOS ehto NIIN tee_näin)
- silmukat (TOISTA KUNNES ...)
- hypyt (SIIRRY_KOHTAAN ...)
- funktiot (käy_tekemässä_tämä_ja_palaa_takaisin)
Näiden muutaman rakenteen avulla mikä tahansa looginen toimintaohje (algoritmi) on mahdollista toteuttaa. Saat tietokoneen käyttäytymään juuri haluamallasi tavalla.
Ohjelmoijan täytyy ajatella osittain kuin tietokone
muokkaaLähdetään siitä perusajatuksesta, että tietokone on tyhmä kuin saavi. Se tekee vain, ja juuri vain sen mitä käsketään. Se ei kysele, eikä ajattele. Se ei osaa tulkita epäselviä ohjeita, eikä ehdottaa parempia toimintamalleja. Jos olet käskenyt sen toimia väärin, se tekee väärin. Ohjelmoijalla on siis suuri vastuu ohjelman tai pelin toiminnasta. Siksi koodi täytyy muotoilla tietyllä tavalla. Sitä kutsutaan lauseopiksi, eli syntaksiksi.
CoolBasicin kääntäjä toimii poliisina. Se tarkastaa lähdekoodista kaikki virheet ennen kuin tuotos käännetään suoritettavaksi ohjelmaksi. Lauseoppi on ehdoton, ja sitä on pakko noudattaa pilkulleen. Muuten koodi ei mene läpi. Toisenlaiset virheet ovatkin sitten itse ohjelmoijan ajatuksissa. Vaikka koodi on kieliopillisesti oikein, se voi sisältää puutteellisen tai virheellisen ajatuksen, jolloin ohjelma toimii eri tavalla kuin mitä alunperin oli tarkoitettu. Suurimman osan ajasta ohjelmoiminen onkin omien virheiden etsimistä koodista. Se on täysin normaalia ja kuuluu asiaan. Jopa kokeneelle ohjelmoijalle.
Tietyllä tavalla ohjelmoiminen vaatii siis matemaattista ajattelutapaa. Se on kuin yrittäisi selittää jotain pienelle lapselle. Mahdollisimman yksinkertaisesti ja selvästi. Paino sanalla selvästi. Loppujen lopuksi ohjelmakoodi on vain lukuja, laskulausekkeita ja niiden perusteella komennettavia käskyjä. Se on kuin kirjoittaisi tekoälyä. Tietokonemaailmassa logiikka nousee ykkösasiaksi. Esimerkki:
JOS A=B JA B=C NIIN A=C
Tai
JOS näppäintä_painetaan NIIN ammu_pistoolilla
Jos et ymmärtänyt tästä mitään, ei se mitään. Kaikki valkenee sinulle 100 % varmuudella, kun kirjoitat koodia ja teet pelejä. Seuraavaksi kannattaa lukaista kohta "muuttujat".