viikon 6 laskareissa tehtävä tehtävä - mluukkai/OTM2012 GitHub Wiki
Viimeviikon laskareissa laajensimme monopolin luokkakaavion. Esimerkkivastaus näytti seuraavalta:
Tietokonemonopoli etenee siten, että ensin luodaan pelaaja-oliot sekä lähtöruutuun sijoitettavat pelinappulat jokaista peliin osallistuvaa henkilöä kohti. Tämän jälkeen alkaa varsinainen peli. Peli koostuu pelikierroksista. Yhden kierroksen aikana jokainen pelaaja heittää noppaa, etenee ja tekee kohderuudun edellyttävät ja mahdollistavat toimenpiteet.
Ota pohjaksi mallivastauksen luokkakaavio ja hahmotele oliosuunnittelu tilanteelle, jossa pelaaja heittää noppaa ja sitä seuraavat toimenpiteet (nappula siirtyy, suoritetaan kohderuudun toimenpiteet) suoritetaan.
Noudata viikon 5 luentokalvojen 35-52 tyyliä:
- suunnittele toiminnallisuus sekvenssikaavioita käyttäen
- oliosuunnittelussahan oleellista miten oliot kutsuvat toistensa metodeja
- oleta että ohjelmalla on ohjausolio (ks. viikon 5 kalvot) joka koordinoi yhden heittovuoron aikaisten tapahtumien suorittamista
- käyttöliittymä kommunikoi ohjausolion kanssa
- mieti minkä olion vastuulle mikin heittovuoron läpiviemiseen liittyvä toiminto on mielekästä laittaa
- älä laita ohjausolioa tekemään kaikkiea
- kannattaa noudattaa ns. tell, do not ask -periaatettaa “That is, you should endeavor to tell objects what you want them to do; do not ask them questions about their state, make a decision, and then tell them what to do.”