Johdanto
Detailed water cycle
CC SA: LangeLeslie, https://en.wikipedia.org/wiki/File:HumanIntegratedWaterCycle_(2).jpg
Kaikki maapallon nykyinen vesi on ollut olemassa jo elämän synnyttyä planeetallamme. Jok’ikinen vesipisara- ja molekyyli on siis tehnyt lukemattomia maailmanympärimatkoja.
Missä kaikkialla vesi siis kulkee ennen kuin se saavuttaa vesihanamme? Miten vettä maapallomme käyttää vettä jatkuvasti uudelleen kuljettaen sitä ympäri maailmaa?
Luodaanpa tekstiseikkailupeli, joka opettaa sinulle aiheesta lisää!
Tehtävä
The Zork Adventure Game
cc-by-2.0. Marcin Wichary, https://en.wikipedia.org/wiki/File:Zork_photo.jpg
Tehtävänäsi on luoda tekstiseikkailupeli vesipisaran matkasta kiertokulun eri vaiheissa käyttämällä python-kielen IF-lausekkeita.
Opit koodaamaan Pythonilla ja opit peleihin ja pelien tekemiseen liittyvää teoriaa. Lisäksi opit vastaamaan moniin mielenkiintoisiin kysymyksiin vedestä: mitä on veden kiertokulku, mistä pilvet on tehty ja mitä lumi on? Miten vesi voi haihtua, vaikka se ei kiehuisi?
Sivulla 4 (Vedenkiertokulku.pdf) on hyvin yksityiskohtainen kuvaus veden kiertokulusta. Hyödynnä sitä selvittääksesi, miten vesi virtaa pallollamme. Sivulla 5 on puolestaan yksinkertaistettu versio samasta prosessista.
Samaan aikaan sinun on pohdittava, mikä tekee pelistä pelin, ja miten pelin eri vaihtoehdot ja tapahtumat saadaan yhteen koodin. Pelimme sankari on pieni vesipisara, jonka seikkailuja alamme tutkia. Voit noudattaa tässä annettuja ohjeita tai luoda ja lisätä ohjelmaan enemmän vaihtelua. Sovella tietoja fysiikasta, kemiasta, biologiasta ja maantieteestä, ja muista käyttää oikeaa terminologiaa (eli oikeita sanoja). Harjoittelemme yhdessä soveltamaan tietoa monialaisesti.
Prosessi
Luomme ohjelman, jonka pitäisi kyetä:
- Esittää käyttäjälle kysymyksiä, joiden perusteella vesipisaran matkasta tulee yksilöllinen käyttäjän määrittämien vaihtoehtojen mukaan.
- Antaa käyttäjälle mahdollisuuden toistaa kysymykset, kun vesipisara on palannut takaisin pilveen.
Käynnistä ensin Python: https://www.onlinegdb.com/online_python_interpreter tai https://www.programiz.com/python-programming/online-compiler/
- Luo ensimmäinen, sivulla 9 esitetty aliohjelma.
- Kirjoita pääohjelma (sivu 10). Käytämme paljon IF-lausekkeita ja silmukoita. Ne selitetään pdf-dokumentissa.
- Luo peli käyttämällä silmukoita (loops) ja IF THEN ELSE -komentoja. Esimerkit ovat sivuilla 12, 13 ja 14.
- Vertaa koodiasi sivuílla 14 ja 15 olevaan koodiin. Muista kuitenkin, että esimerkkikoodi on tosiaan vain esimerkki, eikä sinun koodisi tarvitse olla samanlainen!
Loppusanat
Osaat ja tiedät:
- Tiedät pelaamisen olevan tärkeä aihe.
- Osaat luoda hauskoja ja vuorovaikutteisia tarinoita.
- Ymmärrät enemmän veden kiertokulusta.
- Osaat soveltaa tätä harjoitusta luodaksesi samantyyppisen tekstipohjaisen seikkailupelin.
Seuraavaksi:
- Katso videot linkit-osiosta ja opi lisää tekstiseikkailupeleistä. Ne ovat edelleen elossa oleva tietokonepelien genre!
- Pelaa Zorkia. Zork on yksi ensimmäisistä tekstiseikkailupeleistä. Koe, kuinka hienostunut se on.
- Selvitä, miten käyttäjän antama teksti jäsennetään ja miten tietokone ymmärtää kirjoitettua kieltä.
- Käytä suosikkihakukonettasi ja opi lisää veden kiertokulusta.
- Siirry Java-ohjelmointiin tasolle 3.
Arkipäivässä:
- Veden liike on kaiken elämän edellytys.
- Veden määrä pysyy jotakuinkin samana: planeetalle ei tule juuri mistään lisävettä eikä sitä myöskään katoa avaruuteen.
- Vesi puhdistuu ennen pitkää kiertokulkunsa aikana, mutta ihmiset ovat luoneet myös monenlaisia koneita puhdistaakseen sitä.
Arviointi
QUEST_LO
- Osaat käyttää IF-lausekkeita sujuvasti.
- Tiedät, miten veden kiertokulku toimii, ja miten tärkeä prosessi se on.
- Osaat luoda proseduureja ja aliohjelmia
- Tiedät, mitä vesivarastot ovat ja miten tärkeitä ne ovat.
- Osaat käyttää WHILE-silmukkaa
- Käytät sujuvasti tulosta- ja syöte-funktioita (print ja input)
- Tunnet suolaisen ja makean veden ominaisuudet ja erot.
- Osaat nimetä muuttujat sopivilla nimillä, jotka ovat järkeviä koodissa.
- Tiedät, miten ympäristön prosessit puhdistavat vettä.

