Close menu
Close menu

Tunnistaudu

Kirjaudu

Etkö ole vielä jäsen?

Liity jäseneksi

4. Tasokuvioita

Tasokuvioita, Turtle

Turtle-ohjelmointi oli aluksi osana Logo-ohjelmointikieltä, joka keksittiin vuonna 1966. Turtle-ohjelmointi on graafista ohjelmointia missä käyttäjän antamien käskyjen avulla liikutellaan osoitinta, joka esimerkiksi Repl.it – ympäristössä on nuolen kärki. (graafinen ohjelmointi =? klikkaa ja pudota

Ehdotus: Turtle-grafiikan avulla tietokone tuottaa piirustuksia, jotka koostuvat piirustusalustalla liikkuvan osoittimen jäljestä. Osoitinta liikutetaan käyttäjän antamilla käskyillä. Osoitin on yleensä muodoltaan nuolen kärki, mutta joissakin ohjelmointiympäristöissä se voi olla jokin muukin kuvio, esimerkiksi pieni kilpikonna.) Osoittimelle voidaan antaa attribuutteina eli ominaisuuksina sijainti, suunta tai ”kynän” tila, joiden mukaan näytölle tulostuu esimerkiksi jokin käyrä tai monikulmio. Osoitinta kutsutaan tässä kilpikonnaksi.

Turtle-moduli on osa Python-kielen standardikirjastoa, mutta moduli ei silti toimi kaikilla netin ohjelmointialustoilla. Turtle-grafiikan hyödyntäminen onnistuu kuitenkin sujuvasti esimerkiksi repl.it -sivuston kautta. Repl.it – ohjelmointiympäristöä käytettäessä tulee ensin kirjautua sisään. Klikkaa tämän jälkeen ”New Repl” ja kirjoita hakukenttään ”Python”. Valitse Python (with Turtle)

Koneelle asennettavista ohjelmointiympäristöistä turtle-moduli toimii hyvin mm. Eclipse-ympäristössä. Eclipsessä turtle-koodin loppuun kannattaa kirjoittaa turtle.done()-komento, joka pysäyttää valmiin piirustuksen (ilman done()-komentoa piirustus katoaa heti valmistuttuaan).

Spyder-ympäristössä turtlen piirustusalusta jumiutuu helposti. Alusta toimii paremmin, jos sen pohjan oletuksen muuttaa Tkinter-muotoon: Tools > Preferences > IPython console > Graphics > valitse Backend: Tkinter. Jos piirtoalusta kuitenkin jää jumiin (mitään ei piirry tms):

  • Sulje piirtoalusta ( x )
  • Pysäytä toimintaikkuna punaisesta neliöstä
  • Klikkaa hiirellä johonkin kohtaan toimintaikkunassa
  • Paina Ctrl + . (eli Ctrl pohjaan ja piste-näppäin). Vastaa yes (Restart kernel)
  • Kokeile piirtämistä uudestaan

Myös Spyderissa turtle.done()- komento on hyödyllinen. Kaikesta huolimatta Spyderin piirustusalusta on herkkä kaatuilemaan.

Yllämainituista syistä helpoiten turtle-modulia voi käyttää repl.it:ssä. Uusi muotoilu tälle lauseelle!

Missään ympäristössä turtle-modulin työkaluja käyttävälle tiedostolle ei voi antaa nimeä turtle.py, sillä tällöin import-kutsu ei hae turtle-kirjaston työkaluja, vaan kutsuu vain tiedostoa itseään.

Ympäristöstä riippumatta turtle-kirjasto (moduuli) tulee ensin ottaa käyttöön importtaamalla se samaan tapaan kuin muut kirjastot kutsumalla sitä alussa, jonka jälkeen kilpikonna nimetään jollain käyttäjän antamalla nimellä. Seuraava esimerkissä kilpikonna nimetään nimellä konna.

4.1.1 forward komento.PNG

Tämän jälkeen kilpikonnaa ohjataan näytöllä eri komentojen avulla, mitkä löydät kaikki (Python 3:een) osoitteesta: https://docs.python.org/3/library/turtle.html#overview-of-available-turtle-and-screen-methods

Tässä ohjeessa käytetyt komennot ovat seuraavat:

taulu1.PNG

Komento goto() tai setpos() siirtää kilpikonnan pisteeseen (x,y), jotka käyttäjä antaa sulkeiden sisään. Mikäli edellä mainittuja komentoja ei syötetä, on kilpikonna oletusarvoisesti alussa oikeanpuolimmaisen toimintoikkunan keskellä pisteessä (0,0). Esimerkiksi komento goto(0,100) siirtää kilpikonnan lähtöpisteestä pystysuunnassa pisteeseen (0,100) ja vastaavasti komento goto(-50,-30) siirtää kilpikonnan pisteeseen (-50,-30), eli 50 pikseliä vasemmalle ja 30 pikseliä alas. x- ja y-koordinaatit toimivat aivan kuten koordinaatistossa. Komento setpos() olisi siis tehnyt saman kuin komento goto().

Editori-ikkunaan kirjoitettua koodia kannattaa välillä testata klikkaamalla ”Run” tai näppäinyhdistelmillä ctrl + Enter ↵ , vaikka piirustuksen tuottava ohjelmakoodi ei olisikaan vielä valmis. Näin pystyt helpommin ja vähemmällä työllä saamaan koodin valmiiksi.