Java tehtäviä syventävät
Mureakuha
Sisällysluettelo |
Tehtävä 1
Kirjoita kello. Piirrä kellotaulu ja viisarit drawLine()-metodilla. Varaa kerran sekunnissa toimiva Timer-säie ja kutsu sieltä repaint()-metodia, jolloin Java itse pyyhkii vanhat viisarit pois. Ohjelman täytyy osata skaalata viisarit oikean kokoisiksi riippumatta ikkunan koosta. Kellotaulun ympyrämuodon kaava voidaan laskea sin()- ja cos()-funktioilla. Kun origo on vasemmassa yläkulmassa, kaavan koordinaatit ovat muotoa,
- Keskipiste: ikkunan_leveys/2-ikkunan_korkeus/2
- X-koordinaatti: ikkunan_leveys/2+sin(x)*haluttu_etäisyys_keskipisteestä
- Y-koordinaatti: ikkunan_korkeus/2-cos(x)*haluttu_etäisyys_keskipisteestä
jossa x on haluttu kulma radiaaneissa (00:00 on nolla ja 12:00 on 2*PII radiaania).
Tehtävä 2
Kirjoita ohjelma, joka osaa muuntaa valuuttoja kuvan esittämällä tavalla. '-->'-nappi siirtää Valuutta 1:n edit-kontrolliin kirjoitetun valuuttamäärän Valuutta 2:n edit-kontrolliin valittuun valuuttamuotoon ja päinvastoin. Jos muunnos ei ole mahdollinen palautetaan pelkästään 0.
Tehtävä 3
Kirjoita ristinolla peli. Ikkunaan piirretään käyttäjän merkkinä ympyröitä ja tietokonepelajan merkkinä ristejä. Käyttäjä aloittaa ja tietokone siirtää pelaajan jälkeen automaattisesti. Peli loppuu kun jompi kumpi saa kolmen suoran. Työkalurivissä on Aloitus, Pisteiden nollaus ja Tietoja ohjelmasta napit. Aloitusnappi aloittaa pelin uudestaan, nollaus nollaa voittolaskurit sekä aloittaa pelin alusta ja tietoja nappi avaa pienen dialogin jossa kerrotaan ohjelmasta jotain hauskaa. Ylänurkassa on ohjelmakuvake (sama kuin tietoja napissa). Alareunassa on JLabel-kontrollista tehty tilarivi joka näyttää voitttojen lukumäärää tai voittajaa kun sellainen tulee.
Tehtävä 4
Kirjoita kello apletti. Ota tämän sivun alussa olevasta Kello tehtävästä paneli ja käytä sitä tässä tehtävässä.
Kopio lisenssistä (englanniksi) löytyy täältä.
Alkuperäinen (c) Petteri Hämäläinen
