Harjoitustehtävä 7


Tässä harjoitustehtävässä luodaan OMA VERSIO seuraavasta yksinekrtaisesta pelistä. Pelin ideana on tökkiä ruudulla näkyvää objektia (sprite-komponentti) kunnes kyseinen objekti koskettaa jotain ruudun (canvas-komponentti) laitaa. Objekti liikkuu hieman satunnaiseen suuntaan aina kun sitä kosketetaan. Esimerkiksi:

Tässä harjoitustehtävässä tarvitaan seuraavat komponentit (Designer)

  • Sprite (objekti joka liikkuu)
  • Canvas (alue, jossa objekti liikkuu)
  • Label-komponentit tökkäysten määrälle ja high scorelle, sekä painikkeet uudelle pelille ja sovelluksesta poistumiselle
  • TinyDB -tietokantakomponentti, jonne tallennetaan high score (pysyy muistissa vaikka sovellus suljetaan!)
  • Notifier -komponentti joka ilmoittaa pelin päätyttyä tuloksen

Objekti saat itse päättää objektin grafiikasta. Voit käyttää Googlen kuvahakua sopivien objektien etsimiseen. Valitse kuvahaun asetuksista “vapaasti käytettävissä / muokattavissa” ja varmista kuvan tiedoista että kuva on vapaasti käytettävissä. Volit etsiä vapaasti käytettäviä kuvia myös täältä.

Pelissä tarvitaan kaksi globaalia muuttujaa: tökkäysten määrä ja highscore.

Sovelluksen käynnistyessä haetaan tietokannasta High Score (jos arvoa ei löydy, on highscore alussa 100), sekä  asetetaan tekstit Tökkäysten määrä -ja highscore labeleihin. Tietokanta toimii tagin (avainsana) ja sitä vastaavan arvon avulla. Esimerkissä tagia “maxtulos” vastaava arvo on high score -luku.

Kun objektia (ImageSprite1) klikataan, liikkuu se satunnaiseen suuntaan, ei kuitenkaan liian kauas alkuperäisestä paikastaan. Samalla tokkaystenMaara -muuttujan arvoa täytyy kasvattaa yhdellä.

Kun objekti “törmää” kuva-alueen (Canvas) reunaan, peli päättyy ja tulostetaan ilmoitus.

Myös painikkeiden (aloita alusta / lopeta) toiminnallisuus täytyy ohjelmoida.

 

Lisätehtävä: Pelin äänisuunnittelu

Pelistä saadaan huomattavasti vaikuttavampi ja paremmin tunteisiin vetoava lisäämällä peliin musiikkia ja ääniefektejä. Voit etsiä omaan projektiisi sopivaa musiikkia ja ääniefektejä esimerkiksi osoitteesta https://www.freesound.org/ (vaatii rekisteröitymisen). Sivuilta löytyy paljon käyttäjien lataamia Creative Commons -lisensoituja (enemmän tai väjhemmän vapaaseen käyttöön tarkoitettuja) ääninäytteitä. Tarkista aina ennen lataamista ääninäytteen käyttöehdot (Creative Commons -lisenssien erot).
Tarvitset Designerissa:

Sound -komponentin jokaiselle ääninäytteelle, sekä Player-komponentin (/komponentteja) JOS joidenkin äänien täytyy soida sovelluksessa samaan aikaan (esim. musiikille oma Player-komponentti).