Etenemissuunta, kääntymiskulma ja muodon muuttaminen

Hahmolle voidaan määrittää eri muotoja komennolla shape(). Muodoksi voidaan valita jokin seuraavista: ’arrow’, ’circle’, ’classic’, ’square’, ’triangle’ tai ’turtle’.

Konnan etenemissuunta voidaan määrittää ilmansuuntien avulla. Tällöin käytetään joko komentoa seth() tai setheading().

Komento

Toiminto

kilppari.shape(’triangle’)

Kilpparin muodoksi määritetään kolmio.

kilppari.seth(0)

Kilpparin suunta on itään eli 0 astetta.

kilppari.seth(90)

Kilpparin suunta on pohjoiseen eli 90 astetta.

kilppari.seth(180)

Kilpparin suunta on länteen eli 180 astetta.

kilppari.seth(270)

Kilpparin suunta on etelään eli 270 astetta.

kilppari.stamp()

Kilppari leimaa sijaintinsa.


Esimerkki 1

Tee ohjelma, jossa konnan etenemissuunta määritellään ilmansuuntien mukaan ja jossa konna leimaa lopuksi sijaintipaikkansa etenemissuunnan määrityksen mukaan. Etenemissuuntien määrityksen välillä konna liikkuu 50 yksikköä määritettyyn etenemissuuntaan.

Ratkaisu

Ohjelmaan alkuun tuodaan Turtle-kirjasto, määritetään piirtoalue ja annetaan konnalle nimi. Valitan konnan muodoksi nuoli ja määritetään konnan etenemissuunta ilmansuuntien avulla.

KOODI  



allu.shape('arrow')
allu.penup()
allu.stamp()
allu.seth(0)
allu.forward(50)
allu.seth(90)
allu.stamp()
allu.forward(50)
allu.seth(180)
allu.stamp()
allu.forward(50)
allu.seth(270)
allu.stamp()

TEHTÄVÄ 6

Tavoitteena on harjoitella leimaustoimintoa ja piirtää kuvio. Tee ohjelma, jolla voit piirtää oheisen kuvion.

  • Määritä konnan muodoksi ympyrä eli ’circle’.
  • Konna ei piirrä viivaa eli nosta kynä ylös.
  • Liikuta konnaa eteenpäin esimerkiksi 75 yksikköä ja tee leima. Peruuta konna takaisin 75 yksikköä.
  • Täyden kulman asteluku on 360°. Kun konna tekee 10 leimaa, se jakaa ympyrän kymmeneen yhtä suureen osaan. Kuinka monta astetta konna kääntyy peräkkäisten leimausten välissä? Konna voi kääntyä joko vasempaan tai oikeaan.
  • Jatka koodia, kunnes kuvio tulee valmiiksi.
  • Viimeisen peruutuksen jälkeen tee leima kotipisteeseen eli keskipisteeseen.
  • Miten ohjelmaa pitäisi muuttaa, että saisit kellotaulua vastaavat leimaukset eli 12 leimaa?

TEHTÄVÄ 7 (Palautettava tehtävä)

 Tavoitteena on harjoitella hahmon muodon vaihtamista ja leimaamista.  

Tee ohjelma, jossa konna käy tekemässä leiman jokaisessa ilmansuunnassa 100 yksikön etäisyydellä kotipisteestä. Konna leimaa kotipisteen aina, kun siellä käy, mutta ei piirrä viivaa liikkeistään. Pääilmansuunnissa konnan muoto on ’turtle’, väli-ilmansuunnissa konnan muoto on ’arrow’.

  • Määritä konnan muoto shape()-komennolla, ja anna komento kynän nostamiseksi.
  • Määritä konnan etenemissuunnat ilmansuuntien avulla. Aloita idästä (0).
  • Liikuta konnaa forward()-komennolla 100 yksikköä, ja tee lopussa leima.
  • Palauta konna kotiin home()-komennolla, ja tee kotipisteeseen leima.
  • Määritä uusi etenemissuunta, sille etenemismatka ja leimaaminen. Palauta konna kotiin.
  • Täydennä ohjelma niin, että konna käy leimaamassa jokaisen ilmansuunnan ja tekee leiman joka kerta myös kotipisteeseen.

TEHTÄVÄ 10

Tavoitteena tutustua ympyrä-komentoon sekä oppia täyttämään muoto.

  • Piirrä ympyrä komennolla circle(). Sulkuihin kirjoitetaan ympyrän säde. Määritä säteeksi 50 yksikköä. Testaa ohjelmaa.
  • Kun ympyrä halutaan värittää, pitää ennen ympyrän piirtämistä lisätä komento begin_fill() ja ympyrän piirtämisen jälkeen end_fill(). Testaa ohjelmaa.
  • Jos reunaviiva halutaan piirtää eri värillä kuin täyttöväri, värikomentoon color lisätään ensin reunaviivan väri ja sitten täyttöväri. Esim. color(’green’, ’ red’).
  • Täydennä ohjelma niin, että ympyrän ympärille piirtyy neliö, johon ympyrä juuri ja juuri mahtuu. Ympyrä voi olla väritetty.