wiki:k2014/demo/vinkkeja8
Last modified 4 years ago Last modified on 2014-03-06 07:55:36

Demot » Demo 8, Vinkkeja

Tehtävä 1

  • katso tosi ahkerasti olio-kuvaa. Muista että tässä kuvassa nuolet ovat Javan viitteitä (tällä ei ole mitään tekemistä UML-kuvien kanssa). Jokaista kuvassa olevaa nuolta varten sinun on löydettävä koodistasi vastaava new-lause (paitsi sanaan Toni menevä nuoli syntyy tuon "Toni" ansioista, joka oikeastaan on new String("Toni")).
  • kilpailijan tulosta voisi kutsua vaikka toString-metodia
  • kilpailijan toString muuttaa merkkijonoksi nimen ja numeron ja lisää sen perään tuloksen toString
  • tuloksen toString vastaavasti laittaa kahden kierroksen toStringit ja sitten lisää perään tuloksen getYhteensa joka summaa kierrosten getPisteet
  • kilpailijan setPituus kutsuu tuloksen setPituus
  • tuloksen setPituus valitsee oikean kierroksen ja kutsuu sen setPituus
  • muista miten indkesit menevät (kirjoita ne varulta vaikka kuvaan muistinvirkistykseksi)!

Tehtävä 3

  • miten tehdään taulukollinen olioita? Esim:
         Kissa[] kissat = {
            new Kissa("Miuku",18000), 
            new Kissa("Mirri",1200),
            new Kissa("Katti",5000)
         };
    
  • tai
         Kissa[] kissat = new Kissa[3];
         ...
         kissat[0] = new Kissa("Miuku",18000);
         kissat[1] = new .... 
    

Tehtävä 4-5

    /**
     * Käynnistää pelin komentoriviversion
     * @param peli viite peliin, jossa astiat paikallaan
     */
    public static void pelaa(AstiaPeli peli) {
        KomentoriviAstiaPeli liittyma = new KomentoriviAstiaPeli(peli);
        liittyma.tulostaOhje();
        liittyma.pelaa();
    }


     
    /**
     * Testataan astiapeliä
     * @param args ei käytössä
     */
    public static void main(String[] args) {
        AstiaPeli peli = new AstiaPeli();

        peli.lisaaAstia("8", 8);
        peli.lisaaAstia("5", 5);

        pelaa(peli);
    }

  • KomentoRiviAstiaPeliin siirretään kaikki metodit jotka tulostavat tai kutsuvat metodia joka tulostaa.
  • esim. alkuperäinen etsi ajatellaan kutsuksi this.etsi ja sitten this muutetaan peli.
  • metodien määrä ei muutu muutamaa pientä saantimetodia lukuunottamatta (voi tarvita AstiaPeli-luokkaan)