Vaikka periaatteessa Bootstrap I - pelipohja on aivan toimiva sellaisenaan (se on riisuttu niin yksinkertaiseksi kuin pelin koodaamisen lausekielellä nyt voi riisua), niin olen törmännyt sen kanssa muutamaan harmilliseen asiaan:
- Pelipohja on toteutettu niin, että sillä voi tehdä yhden ja saman pelin variaatioita ja sitten tulee seinä vastaan. Esim. vaara (DANGER) ja kerättävä (TARGET) liikkuvat vain x:n suunnassa, eikä sitä voi muuttaa mitenkään. Myös koko big-bang on piilotettu, joten esim. hiiren tai kosketusnäytön eventtien lisääminen ei onnistu mitenkään helposti.
- Pelipohjan käyttämä kirjasto kääntää koordinaatiston ns. "oikeinpäin" (Racket:issa (0, 0) on normaalisti vasemmassa ylänurkassa, Bootstrap:illä se on vasemmalla alhaalla). Äkkiseltään ajatus tuntuu loistavalta, mutta kun kaikki muut toiminnot kuten overlay/xy toimii Racketissä vasemman ylänurkan origon logiikalla niin tämä Boostrapin versio aiheuttaa vain turhaa hämmennystä.
- Bootstrap:in pelipohjassa on mainio "kolmio"-trace, jolla nähdään miten hahmojen etäisyyden laskemiseen tarvittava kolmio muodostuu livenä. Vaikka kolmio auttaakin Pythagoraan lauseen hahmottamisessa niin näkisin, että paikallaan olevaa kolmiota olisi helpompi tutkia ja oikeita lukuja voisi pyöritellä helpommin kuin hahmojen koordinaatit näkyisivät kuvassa (nyt ne eivät näy, sen sijaan etäisyydet näytetään sitten kun ne on ohjelmoitu).
- Pelipohjassa ärsytti myös se, että Bootstrap - kirjasto on taas yksi "black box", jonka toimintaa voi vain arvailla, eikä kaikkia pelin asetuksia pääse muuttamaan (pelin korkeus, leveys, hahmojen lähtösijainnit jne.)
- Kerholaisteni kanssa törmäsin myös siihen, että 5.-7. luokkalaisille oli melkoisen vaikea opettaa Pythagoraan lausetta, kun potenssit sekä neliöjuurikin puuttuivat sanavarastosta. Törmäys pitäisi siis voida todeta myös ilman Pythagoraan lausetta.
Koodista ei tullut aivan niin selkeää kuin olisin toivonut: törmäystä havainnolistavien kolmioiden/suorakulmioiden ja koordinaattien tulostaminen teki siitä turhankin monimutkaista. Kumpi on sitten loppupeleissa tärkeämpää, tarjota apuja niille oppilaille, jotka eivät heti hahmota miten hahmojen törmäysehdon voi koodata vai antaa helppo ja selkeä pohja innostuneille pikkukoodareille jatkaa pelin kehittelyä eteenpäin?
Tältä näyttää valmis Peruspeli (1a):
Ja tältä näyttää valmis Peruspeli (1b):
miten?
VastaaPoista