On this page:
3.4.1 Turtle - Koch:  in käyrät
3.4.2 Turtle - spiraalit
6.4

3.4 Bonus: Racket Turtle - jatko

Racket Turtle -kirjaston avulla voi piirtää hienoja kuvioita, kun osaa käyttää tavallisia funktioita, listoja sekä rekursiivisia funktioita tai Higher Order - funktioita. Ennen näitä tehtäviä on hyvä tutustua Racket Turtle -alkeet tehtäviin sekä Racket Turtle - esimerkkeihin Koodarin käsikirjassa.

Jotta voit piirtää Racket Turtlella kuvia tarvitset teachpacks/racket-turtle-kirjaston:

(require teachpacks/racket-turtle)

Se kuuluu teachpacks-pakettiin, joka pitää ladata palvelimelta näiden ohjeiden mukaisesti. Paketti tarvitsee asentaa vain ensimmäisellä kerralla.

WeScheme:ssä ei tarvita paketin asennusta. Huomaa myös, että WeSchemessä kirjastolla on eri nimi.

3.4.1 Turtle - Koch:in käyrät

Harjoittele listojen ja funktioiden käyttämistä piirtämällä kuvan mukaiset Koch:in käyrät. Mieti ensin mikä on toistuva jakso ja lähde ideoimaan ohjelmaa sen kautta. Symmetrisen kuvion kanssa kannattanee kokeilla myös peilausta.

Tässä harjoituksessa saatat tarvita seuraavia Racket-kielen ja Racket Turtle -kirjaston funktioita:

forward

   

turn-left

   

turn-right

   

list

mirror-x-on

   

mirror-y-on

   

repeat

   

draw

Opettajan diat.

3.4.2 Turtle - spiraalit

Harjoittele listoja, rekursiivisia funktioita tai Higher Order - funktioita piirtämällä Turtlella erilaisia spiraalikuvioita.

Racket Turtle jatko, kesto 7:12

Turtle - spiraalikuviot

Ohjaa Racket Turtle tekemään kuvan mukainen spiraali käyttämällä rekursiivista funktiota tai Higher Order - funktioita.

Muokkaa edellistä koodiasi hieman, että saat aikaan tämän näköisen kuvion.

Tee rekursiivisen funktion tai Higher Order - funktion avulla lista, joka sisältää kooltaan kasvavia satunnaisen värisiä tähtiä.

Käytä edellä tekemäsi tähtilistaa sekä kakkoskohdan vinon spiraalin koodia ja tee niiden avulla kuvan mukainen tähtispiraali.

Ohjaa Turtle kulkemaan satunnaiseen suuntaan satunnaisen pituisia matkoja.

Tässä harjoituksessa saatat tarvita seuraavia Racket-kielen, 2htdp/image-kirjaston ja Racket Turtle -kirjaston funktioita:

star

   

make-color

   

random

   

map

   

range

   

forward

turn-left

   

turn-right

   

stamper-on

   

pen-up

   

list

   

draw