Java tehtäviä syventävät

Mureakuha

Loikkaa: valikkoon, hakuun

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).

Kuva:Java_tehtäviä_syventävät1.PNG

Ratkaisu

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.

Kuva:Java_tehtäviä_syventävät2.PNG

Ratkaisu

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.

Kuva:Java_tehtäviä_syventävät3a.PNGKuva:Java_tehtäviä_syventävät3b.PNGKuva:Java_tehtäviä_syventävät3c.PNG

Ratkaisu

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ä.

Ratkaisu

Tämän dokumentin kopiointi, levittäminen sekä muokkaaminen on sallittua GNU Free Documentation Licensen version 1.2 tai uudemman Free Software Foundationin julkaiseman version mukaisesti, ilman muuttumattomuuslauseketta tai kansitekstejä. Tätä koskee vastuuvapaus.
Kopio lisenssistä (englanniksi) löytyy täältä.


Alkuperäinen (c) Petteri Hämäläinen

Henkilökohtaiset työkalut