Kyseisessä ohjelmassa asetamme ensimäisenä ohjelmassa valmiiksi luodun stage-olion taustan avaruustaustaksi kutsumalla sen set_background –metodia ja antamalla kutsun argumentiksi ”pluto”. ”Pluton” argumentin ympärillä on ”-hipsut, koska pluto-argumentti on tietotyypiltään string, eli merkkijonotyyppi.

Tämän jälkeen luomme tähden luomalla sprite-olion Circle-luokasta. Tähtioliolla on luotaessa useita prototyyppejä eli ominaisuuksia kuten sen x- ja y-koordinaatit, koko ja väri, jotka annamme oiota kutsuttaessa sille argumentteina.

Kuvion piirtäminen alkaa kun tähtioliota klikataan ja sprite.event_click(click) –tapahtuma tapahtuu.

Sprite.event_click(click) tapahtuman click on tapahtuman callback-funktio, jota kutsutaan, kun tapahtuma tapahtuu, eli tähteä klikataan.

Click-funktiossa kusumme käyttäjältä input-kirjastofuntiolla kuinka monta kuviota hän haluaa piirtää ja muutamme käyttäjän antaman string-tyyppisen vastauksen integer, eli numerotyyppiseksi vastaukseksi int-kirjastofuntiota käyttämällä. int-tyyppinen vastaus tallennetaan choice-muuttujaan.

Tämän jälkeen tietokone arpoo  tähtisarakkeen kulmien määrän sekä kuvion sivun pituuden random-kirjastofunktiota käyttäen ja tallentaa arvotut vastaukset kulmat- ja sivu –muuttujiin.

Seuraavaksi käytämme for-looppia toistamaan choice-muuttujan määrän kuvioita. For-loopissa kutsumme piirra_kuvio-funktiota sivu- ja kulmat argumenteilla. Argumentit välitetään piirrä_kuvio -funktion sivun_pituus- ja kulmien_maara parametreihin, joiden perusteella funtio piirtää kuvion move_forward ja turn_right -metodeja kutsumalla. Turn_right -metodin argumentin muodostamme käyttämällä aritmeettista operaatiota 360/kulmien_maara.

Tämän jälkeen ohjelman suoritus palaa for-looppiin.

Sprite.turn_right –metodilla käännämme piirrossuuntaa, jonka jälkeen uuselleen piirra_kuvio -funtiota.

Tätä toistetaan niin monta kertaa kuin vastaus-muuttujan sisältö on.

Ja avot kuvio on valmis!

 

Toimiva ohjelma löytyy täältä ja voit vapaasti käyttää sitä ja yllä olevia ohjeita sekä itsesi että muiden opettamiseen 🙂