ITI0011:Mull
Mine navigeerimisribale
Mine otsikasti
Ülesande tähtaeg: 7. - 8. mai
Kirjeldus
Kirjutada graafilise kasutajaliidesega programm, mis kuvab kasutajale kujundeid, mis vahetavad oma asukohta ekraanil. Kujundile klikkides saab kasutaja/mängija punkte. Mängu erinevaid parameetreid saab seadistada eraldi menüüs.
Seda ülesannet on võimalik teha ka Androidi peal.
Põhiosa (5p)
- Tuleb kirjutada graafilise kasutajaliidesega (GUI) programm, mis kuvab vähemalt kujundeid:
- sinine täidetud ruut
- punane täidetud ring
- (lisaks võid luua oma kujundeid)
- Korraga võib ekraanil olla rohkem kui üks sama tüüpi kujund.
- Kujundite asukohad muutuvad juhuslikult teatud ajavahemiku möödudes (näiteks 1 sekund)
- Kujundid ei tohi üksteisega kattuda
- Kujundil klikates eemaldatakse see ekraanilt-
- Juhul, kui kujund ekraanilt eemaldatakse, lisatakse juhuslikkuse alusel uus kujund.
- Kujundil klikates saab mängija punkte (koguse võite ise määrata).
- Mängija punktisumma kuvatakse jooksvalt GUI rakenduses.
- Mängul on ajalimiit (näiteks 1 minut).
- Ajalimiiti ületades saab mäng läbi.
Lisaosa (1p)
- Kujundite asukohti muudetakse ühekaupa, mitte kõikidel korraga
- näiteks ruudu asukoht muutub 850 ms tagant, ringi asukoht 600 ms tagant
- Iga kujundi asukohta vahetatakse kolm korda. Peale seda kujund eemaldatakse automaatselt
- Mida varem kujundil klikkida, seda rohkem punkte mängijale antakse. Näiteks, kui kujundit näidatakse esimest korda, saab 3X punkti. Kui kujund on korra asukohta muutunud, siis 2X punkti. Peale kahte liikumist X punkti.
- Klikkimata ja automaatselt eemaldatud kujund annab mängijale trahvipunkte.
Lisaosa: elud (1p)
- Mängu edenedes uue kujundi tekkimise tõenäosus suureneb.
- Kujundite asukohad vahetuvad kiirenevas tempos.
- Mängijal on mängu alguses 5 elu.
- Mängija elud kuvatakse jooksvalt GUI rakenduses.
- Kui mängija ei jõua kujundit eemaldada ja see eemaldatakse automaatselt, kaotab mängija ühe elu.
- Kujundid on erineva suurusega (näiteks ruut on 2x väiksem kui ring) ja nende eest saab erinevalt punkte (väiksema ruudu eest saab 2x rohkem punkte).
Lisaosa: seaded (1p)
- Programmil on lisaks mängu vaatele ka seadete vaade, kus peaks saama erinevaid parameetreid seadistada. Näiteks:
- kujundite minimaalne arv ekraanil;
- kujundite suurus;
- kujundite asukoha muutumise kiirus jne.
- Mäng peab neid seadistusi arvesse võtma.
- Seadistuste muutmisel tuleb kontrollida, et kasutaja ei sisesta ebaadekvaatseid väärtusi (mäng ei ole enam mängitav). Võib teha ettemääratud valikud. Näiteks valida saab 3 kiiruse vahel.
- Seadistused peaks säilima peale programmi uuestikäivitamist. Need tuleb salvestada faili.
Lisaosa: edetabel (2p)
- Programm salvestab mängude tulemused faili.
- Meeles hoitakse 10 parimat skoori iga seadistuse kohta.
- Koos skooriga salvestatakse mängija nimi (saab sisestada juhul, kui mängu lõpptulemus annab koha 10 parema seas) + skoori saavutamise aeg + seadistused, millega antud skoor saavutati.
- Mängides näidatakse lisaks mängija hetkeskoorile ka parimat skoori, võttes arvesse mängu seadistusi.
- Skooritulemused on võimalik nullida.
Boonuspunktid
Boonuspunkt on võimalik teenida:
- Ilusa ja kasutajasõbraliku mängu eest (1p)
- Nauditava või põneva mängukogemuse eest (1p)