torstai 17. joulukuuta 2015

Racket Turtle - jatkot Kaukajärvellä

Kaukajärven ohjelmointikurssilaiset (8lk) tekivät kurssin päätteeksi Racket Turtlen - jatkotason tehtäviä. Ensin mietimme miten saisimme Turtlen tekemään perusspiraalin:

Tämä oli helppo tehtävä: jokaisella kierroksella pitäisi vain kulkea hieman pidempi matka. Tätä varten teimme funktion, joka osaa tehdä yhden MUUTTUVAN pituisen sivun:

(define (sivu matka)
    (list (forward matka)
           (turn-left 90)))

Seuraavaksi mietimme miten saisimme annettua tuolle funktiolle listan kasvavia matkan arvoja. Tutkimme interaktioikkunassa miten range - funktio toimii:

(range 0 100 5)

ja totesimme, että sen avulla saisimme tarvittavat matkan arvot. Vielä tarvittiin funktio joka syöttää nämä sivu-funktiolle ja olisimme valmiit:

(map sivu (range 0 100 5))

Tälle annettiin definellä nimi ja piirrettiin se:

(define spiraali (map sivu (range 0 100 5)))
(draw spiraali)

 Jotta spiraalia saataisiin enemmän ei ollut vaikea keksiä, että range:a piti lisätä.

Perusspiraalia lähdettiin sitten muuttaamaan, lisäämällä värejä (esim. antamalla värilista), sekä muuttamalla kulma joksikin muuksi kuin 90 astetta.

Kun kokeilut olivat tuottaneet hienoja kuvia ne tallennettiin taas Padlet - seinälle.

Toisella tunnilla opettelimme vielä leimasimen käytön ja lisäsimme hieman tähtiä spiraalien sekaan. Tällaisia hienoja kuvia syntyi tällä kaksoistunnilla:
Racket Turtle - taidetta à la Kauksu

Ei kommentteja:

Lähetä kommentti