Antti-Jussi Lakanen Nuorten peliohjelmointi 2009 / Jyväskylän yliopisto
Aliohjelmat Ohjelman osia Kokoelma koodirivejä Saman tehtävän suoritus useaan kertaan ohjelman ajon aikana Säästää vaivaa kirjoittamiselta Järkevämpää koodaamista
Aliohjelma: esimerkkejä Tykkipelissä nappia painettaessa ammus lähtee Korttipelissä kortti käännetään aina samalla tavalla. Autopelissä auto kääntyy aina samalla tavalla (renkaat kääntyvät, suunta muuttuu jne.)
Esimerkki aliohjelmasta Kaksi palloa
Aliohjelmat koodissa
Aliohjelmat ja suoritusjärjestys ”Pääohjelma” LoadContent kutsuu aliohjelmia Aliohjelmien kirjoitusjärjestyksellä ei ole väliä
Esimerkki aliohjelmasta String yhdista (String jono1, String jono2) { String yhdiste = jono1 + jono2; return yhdiste; } Palautusarvon tyyppi Aliohjelman nimi Parametrit
Esimerkki aliohjelmasta (jatkuu) Aliohjelmaa voidaan kutsua pääohjelmasta protected override void LoadContent() { String jono1 = ”Antti-”; String jono2 = ”Jussi”; Yhdistetty_jono = yhdista(jono1, jono2); } String yhdista (String jono1, String jono2) { String yhdiste = jono1 + jono2; return yhdiste; } Millainen on yhdistetty jono?
Aliohjelmat Aliohjelmalla ei ole pakko olla palautusarvoa void PiirraYmpyra(double sade) { // Luodaan ympyrä ja lisätään se näytölle } Myöskään parametreja ei ole pakko olla, mutta sulut on jätettävä int AnnaSatunnaisluku() { return RandomGen.NextInt(0,100); }
Ohjausrakenteet Ohjausrakenteet ovat lauseita, jotka vertailevat kahta tai useampaa arvoa toisiinsa Voidaan hallita ohjelman kulkua ja ratkaista monimutkaisempia ongelmia
If/else-ehtolause Käytetään tarkistamaan, onko jokin asia totta vai ei Palauttaa totuusarvon (true tai false) int luku = 2; if(luku > 2) { // Suoritetaan jos luku on suurempi kuin 2 } else { // Suoritetaan jos ehto ei ole suurempi kuin 2 }
If/else-ehtolause string nimi = ”Pekka”; if(nimi == ”Antti-Jussi”) { // Ehto on totta } else { // Ehto ei ole totta }
For-silmukka Oletetaan, että haluat luoda kolme palloa pelikentälle Pallo p1 = new Pallo(); Pallo p2 = new Pallo(); Pallo p3 = new Pallo(); Level.Objects.Add(p1); Level.Objects.Add(p2); Level.Objects.Add(p3); Entä jos palloja haluttaisiinkin 100?
For-silmukka (jatkuu) Kun ohjelmassa on toistettavia asioita, käytä for- silmukkaa for (int i = 0; i < 100; i++) { Pallo p = new Pallo(); Level.Objects.Add(p); } for-lause alkaa lauseen alkuarvo ehto, jonka toteutuessa silmukkaa jatketaan Lause, joka suoritetaan jokaisen kierroksen päätteeksi