sunnuntai 28. joulukuuta 2014

Koodauksen ABC: 7. oppitunti

Tämä oli viimeinen oppituntimme ennen jakson vaihtumista, joten mitään uutta ja isoa emme olisi ehtineet aloittaa. Ajattelinkin että tässä olisi hyvä tilaisuus antaa oppilaiden tuunata omia pacman-pelejään haluamaansa suuntaan. Ilmeisesti olimme kuitenkin tehneet töitä liian kauan opettajajohtoisesti, että suurin osa oppilaista ei oikein osannut tai edes keksinyt mitä haluaisi pacmaniinsä lisätä. Yritin ehdotella uusia näppäinkomentoja, "Game over" - tekstiä yms. Lopulta yksi oppilaista tarttui "Game over" - tekstiin. Teksti lisätään kirjoittamalla uusi, viimeisen näkymän piirtävän funktio ja antamalla tämä parametrina stop-when:lle.

(define (piirrä-loppu tila)
  (overlay (text "Game Over" TEKSTI-KOKO "black") (piirrä-pacman tila)))


Teksti muutetaan ensin kuvaksi

Pienen mietinnän jälkeen yksi oppilas halusi lisätä pacmanille "syömisliikkeen" mutta hän ei osannut lähteä sitä itse koodaamaan joten ryhdyimme pohtimaan sitä yhdessä. Päädyimme siihen, että pelkät muuttuvat sektorit eivät anna oikeaa "syömisvaikutelmaa" vaan syövä pacman täytyy muodostaa kahdesta liikkuvasta puoliympyrän muotoisesta leuasta. Leukojen muotoiluun (crop, flip-horizontal, overlay/xy) ja niiden liikuttelun suunnittelemiseen hurahtikin sitten loppuaika, emmekä lopulta saaneet syövää pacmania edes valmiiksi. Ideana oli kuitenkin se, että leuat avautuvat vastakkaisiin suuntiin yhtä paljon (rotate). Uudet pacmanit näyttäisivät siis jotakuinkin tältä:

Syövät pacmanit

Keväällä jatkamme tätä kurssia, ja kysyinkin oppilailta että haluavatko he jatkaa pacman-pelin kimpussa vai koodaammeko jotain muuta. Kaikki halusivat jatkaa pacmanin kanssa, joten ilmeisesti keväällä teemme labyrinttejä, syömme namuja ja väistelemme haamuja. Joululomalla harjoittelin pacman-pelin koodaamista ja totesin, että siinä on edessä melkoinen määrä opittavaa sekä opettajalla että oppilailla! Saapa nähdä kuinka hienot pacman pelit saamme kevään aikana kokoon.

Tässä harjoitteluni tulos:






Ei kommentteja:

Lähetä kommentti