wiki:demovinkki2
Last modified 8 years ago Last modified on 2009-09-17 08:18:00

Demovinkkejä / Demo 2

Tehtävä 4

  • luennolla ei erikseen ole puhuttu, mutta Graphichsin peruskoordinaatisto on oletuksen sellainen, että vasen yläkulma on 0,0 ja y:n arvot kasvavat alapäin.
  • tehtävässä 4 on koordinaatisto skaalattu uudelleen
    window.scale(0,0,10,10);
    
    eli tämän jälkeen vasen alakulma on ruudusta on 0,0 ja oikea ylänurkka 10,10 eli nyt koordinaatisto on "oikeinpäin", eli y kasvaa ylöspäin ja siksi "porrasYlos" on mielekäs käsite eikä tarvitse miettiä mikä on ylös ja mikä alas.

Tehtävä 5

  • ylin porrastasanne tulee piirrettyä 2x (ylös menevästä ja alas lähtevästä)

Tehtävä B1

  • luennolla ei ehditty Alice käydä läpi, mutta se käytiin läpi vuoden 2008 vastaavalla luennolla josta on videointi: mms://meedio2.ad.jyu.fi/it-kurssit/ITKP102/2008s/luento/ohj1_luento04a.wmv Alice heti luennon alussa.
  • tehtävässä on kyse peräkkäisyydestä ja siksi varsinaisia "odottamisia" ei tarvita, ainoastaan suoritusjärjestys
  • Jos Alicea ei voi omalla koneella tehdä, niin ehkä silti kannattaa katsoa tuo muutama minuutti videon alkua, jotta näkee yhden vaihtoehtoisen tavan ohjelmoida :-)

Tehtävä G1-2

  • Esimerkiksi olioista kannattaa katsoa myös UkkoSample.java
  • Esimerkiksi tuo:
    73 Ukko ukko = new Ukko(260,180,0.3,0,null); window.add(ukko);
    
    on mallikeloinen rivi siitä, miten olio luodaan. Eli tyyliin:
      Luokka olio = new Luokka(parametrit);
      olio.hommaileJotakin(parametrit);  /// esimerkissä tämä on tosin window.add(ukko);
    
    Oleellista on siis, että luokasta luodaan edustaj(i)a, ja otetaan new-palauttama arvo talteen, jotta sitäv oidaan käyttää myöhemmin.
  • sen sijaan rivit:
    75          new Rotator(ukko,Axis.Z,3,200);
    76          new Rotator(ukko.getKasi(),Axis.Z,5,230);
    
    eivät ole niin mallikelpoisa tuossa mielessä. Oikeasti esim. rivin 75 pitäisi olla
       Rotarit ukonZPyorittaja = new Rotator(ukko,Axis.Z,3,200);  
    
    mutta koska sen jälkeen kun tuo olio on luotu, se jatkaa hommiaan itsenäisesti (eli pyöritttää sille annettua kuviota, tässä tapauksessa ukkoa), ei tuota muuttujata ukonZPyorittaja enää tarvita ja siksi muuttujata ei ole rivillä 75 esitelty lainkaan. On käsketty vaan olion syntyä (new) ja sitten jätetty se oman onnensa nojaan. Oikeasti tämän kaltainen olion käyttö on harvinaisempaa ja tuo
    Ukko ukko = new Ukko(...);
    
    huomattavasti yleisempää vaikka UkkoSample ja CarSample esimerkistä näin ei arvaisikaan.