{"id":259,"date":"2019-01-16T12:13:38","date_gmt":"2019-01-16T12:13:38","guid":{"rendered":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/?post_type=chapter&#038;p=259"},"modified":"2019-08-27T16:32:13","modified_gmt":"2019-08-27T16:32:13","slug":"kilpkonnagraafika","status":"publish","type":"chapter","link":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/chapter\/kilpkonnagraafika\/","title":{"raw":"Kilpkonnagraafika","rendered":"Kilpkonnagraafika"},"content":{"raw":"Seni oleme saanud programmide t\u00f6\u00f6 tulemused tekstilisel kujul ekraanile v\u00e4ljastatuna, samuti oleme sisendi andnud tekstilisel kujul. Reaalselt kasutavad paljud programmid hoopis graafilist kasutajaliidest, milleni j\u00f5uame hilisemates peat\u00fckkides. Praegu vaatleme Pythoni moodulit <code>turtle<\/code> (t\u00f5lkes \"kilpkonn\"), mille abil saab ekraanile kujundeid joonistada. Joonistamiseks liigub tegelane (kilpkonn) oma virtuaalmaailmas ringi ning j\u00e4tab liikudes maha j\u00e4lje. See j\u00e4lg v\u00f5ib teinekord p\u00e4ris huvitava ja isegi kunstilise kujuga olla.\r\n<h3>Ajalugu<\/h3>\r\nVirtuaalne kilpkonn ilmus esmakordselt hariduslikus programmeerimiskeeles LOGO, mille l\u00f5id aastal 1967 Wally Feurzeig ja Seymour Papert. See keel oli m\u00f5eldud just lastele algoritmilise m\u00f5tlemise \u00f5petamiseks. Praeguseks on kilpkonnagraafikat v\u00f5imalik kasutada mitmetes programmeerimiskeeltes, ka Pythonis. Viimasel ajal eriti populaarses hariduslikus programmeerimiskeeles <a class=\"urllink\" href=\"https:\/\/scratch.mit.edu\/\" target=\"_blank\" rel=\"noopener noreferrer\"><em>Scratch<\/em><\/a> on samuti tuntavaid kilpkonnagraafika m\u00f5jutusi. LOGO programmeerimist v\u00f5ib proovida <a class=\"urllink\" href=\"http:\/\/www.calormen.com\/jslogo\/\" target=\"_blank\" rel=\"noopener noreferrer\">siin<\/a>. V\u00f5ib-olla on huvitav teada, et \u00fcks esimesi interneti kaudu toimunud kursusi (aastal 1996, tol ajal e-posti kaudu) Eestis oli just <a class=\"urllink\" href=\"http:\/\/kodu.ut.ee\/~eno\/logo\/kursus.html\" target=\"_blank\" rel=\"noopener noreferrer\">programmeerimiskeele Logo kursus<\/a>.\r\n<h3>Alustamine ja liikumine<\/h3>\r\nJ\u00e4rgnevalt uurime, kuidas kilpkonna Pythonis kasutama hakata, ning vaatame, kuidas kujundeid joonistada. Kokkuleppeliselt nimetatakse kilpkonnaks v\u00e4ikest kolmnurka joonistamisv\u00e4ljal.\r\n\r\nSelleks, et joonistamisega alustada, tuleb esmalt importida vajalikud k\u00e4sud kilpkonna moodulist. Selleks kirjutame programmi esimesele reale:\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">from turtle import *<\/pre>\r\n<p class=\"vspace\">J\u00e4rgnevalt proovime kirjutada programmi, mille abil joonistataks ruut. Selleks kasutame sobivaid kilpkonnak\u00e4ske:<\/p>\r\n\r\n<ul>\r\n \t<li><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">forward(n)<\/code> - liigu edasi (ingl <em>forward<\/em>) <em>n<\/em> sammu v\u00f5rra (\u00fche sammu pikkus on 1 piksel ehk \u00fcks t\u00e4pike ekraanil);<\/li>\r\n \t<li><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">back(n)<\/code> - liigu tagasi (ingl <em>back<\/em>) <em>n<\/em> sammu v\u00f5rra;<\/li>\r\n \t<li><code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">left(d)<\/code><\/code> - p\u00f6\u00f6ra vasakule (ingl <em>left<\/em>) <em>d<\/em> kraadi;<\/li>\r\n \t<li><code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">right(d)<\/code><\/code> - p\u00f6\u00f6ra paremale (ingl <em>right<\/em>) <em>d<\/em> kraadi.<\/li>\r\n<\/ul>\r\n<p class=\"vspace\">Eelnevaid k\u00e4ske sobivas j\u00e4rjekorras rakendades saame j\u00e4rgneva programmi:<\/p>\r\n<p class=\"vspace\"><strong>N\u00e4iteprogramm. Ruut<\/strong><\/p>\r\n\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">from turtle import *               # * lisamisel imporditakse k\u00f5ik kilpkonna k\u00e4sud\r\n \r\nforward(100)                       # Kilpkonn liigub edasi 100 pikslit\r\nleft(90)                           # Kilpkonn p\u00f6\u00f6rab 90\u00b0 vasakule\r\nforward(100)                       # Kordame eelnevaid k\u00e4ske, sest ruudul on neli k\u00fclge\r\nleft(90)\r\nforward(100)\r\nleft(90)\r\nforward(100)\r\n \r\nexitonclick()                      # Saame akna sulgeda hiirekl\u00f5psuga<\/pre>\r\n(<strong>NB!<\/strong> \u00c4ra pane oma Pythoni programmi nimeks <em>turtle.py<\/em>. See ajab Pythoni segadusse, sest moodulil on t\u00e4pselt sama nimi.)\r\n<p class=\"vspace\">Programmi tulemuseks saame<\/p>\r\n<img class=\"size-full wp-image-309 aligncenter\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/kilpkonn1.png\" alt=\"\" width=\"341\" height=\"320\" \/>\r\n<p class=\"vspace\">Tegelikult v\u00f5ib kilpkonn j\u00e4rjekindlalt p\u00f6\u00f6rata ka 90\u00b0 paremale, tulemuseks on ikka ruut.<\/p>\r\n<p class=\"vspace\">N\u00e4iteprogrammis m\u00e4rkame, et kilpkonn peab t\u00e4itma korduvalt samu k\u00e4ske: minema 100 pikslit edasi ja p\u00f6\u00f6rama seej\u00e4rel 90\u00b0 vasakule. Seega on siin tegemist ts\u00fcklilise tegevusega. Ts\u00fcklitest r\u00e4\u00e4gime edasistes osades.<\/p>\r\n<p class=\"vspace\">Selleks, et v\u00e4hendada kirjutamisvaeva, saab kilpkonna liikuma panna ka l\u00fchemate k\u00e4skudega, kasutades pikemate esituste esimesi ja viimaseid t\u00e4hti.<\/p>\r\n\r\n<ul>\r\n \t<li><code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">fd(n)<\/code><\/code> - v\u00f5rdne k\u00e4suga <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">forward(n)<\/code>;<\/li>\r\n \t<li><code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">bk(n)<\/code><\/code> - v\u00f5rdne k\u00e4suga <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">back(n)<\/code><\/code>;<\/li>\r\n \t<li><code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">lt(d)<\/code><\/code> - v\u00f5rdne k\u00e4suga <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">left(d)<\/code><\/code>;<\/li>\r\n \t<li><code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">rt(d)<\/code><\/code> - v\u00f5rdne k\u00e4suga <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">right(d)<\/code><\/code>.<\/li>\r\n<\/ul>\r\n<p class=\"vspace\">Robot-kilpkonn oskab teha veel palju muudki. T\u00e4psemalt v\u00f5ib vaadata <a class=\"urllink\" href=\"https:\/\/docs.python.org\/3.6\/library\/turtle.html\" target=\"_blank\" rel=\"noopener noreferrer\">Pythoni dokumentatsioonist<\/a>.<\/p>\r\n\r\n<h3>V\u00e4rvimine<\/h3>\r\nKilpkonn oskab joonistatud kujundeid v\u00e4rvida ja muuta taustav\u00e4rvi. Selleks, et v\u00e4rvima hakata, tuleb esmalt valida sobiv v\u00e4rv. Seda saab teha k\u00e4suga <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">color(v\u00e4rvi_nimetus)<\/code><\/code>, kus v\u00e4rv antakse s\u00f5nena, mille v\u00e4\u00e4rtuseks on v\u00e4rvi ingliskeelne vaste v\u00f5i v\u00e4rvi kuueteistk\u00fcmnendkoodis esitus. N\u00e4iteks musta v\u00e4rvi esitus kuueteistk\u00fcmnendkoodis on <em>#000000<\/em>. V\u00e4rvikoode saab vaadata <a class=\"urllink\" href=\"http:\/\/www.w3schools.com\/colors\/colors_picker.asp\" target=\"_blank\" rel=\"noopener noreferrer\">siit<\/a>.\r\n\r\nN\u00e4iteks\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">color(\"red\")                       # Kilpkonn muutub punaseks<\/pre>\r\nv\u00f5i\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">color(\"#008000\")                   # Kilpkonn muutub tumeroheliseks<\/pre>\r\n<p class=\"vspace\">Kui v\u00e4rv on valitud, siis tuleb kilpkonnale k\u00e4suga <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">begin_fill()<\/code><\/code> teada anda, et n\u00fc\u00fcd tuleb v\u00e4rvimist alustada. Seda peab tegema vahetult enne kujundi joonistamist, mida v\u00e4rvida soovime. V\u00e4rvimise l\u00f5petamiseks tuleb peale kujundi l\u00f5ppu kirjutada k\u00e4sk <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">end_fill()<\/code><\/code>.<\/p>\r\n<p class=\"vspace\">J\u00e4rgmiseks kirjutame programmi, mis joonistab punase ringi. Kilpkonn oskab joonistada ringi (ingl <em>circle<\/em>) k\u00e4suga <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">circle(r)<\/code><\/code>, kus <em>r<\/em> on ringi raadius pikslites.<\/p>\r\n<p class=\"vspace\"><strong>N\u00e4iteprogramm. Jaapani lipp<\/strong><\/p>\r\n\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">from turtle import *\r\n \r\ncolor(\"red\")                       # Kilpkonn muutub punaseks\r\nbegin_fill()                       # Kilpkonn alustab ringi v\u00e4rvimist\r\ncircle(100)                        # Kilpkonn joonistab ringi raadiusega 100 pikslit\r\nend_fill()                         # Kilpkonn l\u00f5petab ringi v\u00e4rvimise\r\n \r\nexitonclick()<\/pre>\r\n<p class=\"vspace\">Kui eelmise programmi puhul oli t\u00e4pselt teada, mis toimub, siis t\u00e4iendame seda programmi juhuslikkusega. Selles programmis imporditakse k\u00e4ske lausa kahest moodulist:<\/p>\r\n<p class=\"vspace\"><strong>N\u00e4iteprogramm. Sinine, must v\u00f5i valge<\/strong><\/p>\r\n\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">from turtle import *\r\nfrom random import randint\r\n \r\nv\u00e4rv = randint(1, 3)\r\nif v\u00e4rv == 1:\r\n    color(\"blue\")                  # Sinine\r\nif v\u00e4rv == 2:\r\n    color(\"black\")                 # Must\r\nif v\u00e4rv == 3:\r\n    color(\"white\")                 # Valge valgel taustal\r\nbegin_fill()                       # Kilpkonn alustab ringi v\u00e4rvimist\r\ncircle(100)                        # Kilpkonn joonistab ringi raadiusega 100 pikslit\r\nend_fill()                         # Kilpkonn l\u00f5petab ringi v\u00e4rvimise\r\n \r\nexitonclick()<\/pre>\r\nPraegu t\u00f5ime kilpkonna m\u00e4ngu selleks, et edasisi natuke keerulisemaid teemasid paremini illustreerida. Kohtume temaga ka edaspidi.\r\n<h3>Videomaterjal<\/h3>\r\nVaata ka kilpkonna kasutamise kohta k\u00e4ivat <a href=\"https:\/\/youtu.be\/r5L9BM6vlng\" target=\"_blank\" rel=\"noopener noreferrer\">kokkuv\u00f5tvat videot<\/a>.","rendered":"<p>Seni oleme saanud programmide t\u00f6\u00f6 tulemused tekstilisel kujul ekraanile v\u00e4ljastatuna, samuti oleme sisendi andnud tekstilisel kujul. Reaalselt kasutavad paljud programmid hoopis graafilist kasutajaliidest, milleni j\u00f5uame hilisemates peat\u00fckkides. Praegu vaatleme Pythoni moodulit <code>turtle<\/code> (t\u00f5lkes &#8220;kilpkonn&#8221;), mille abil saab ekraanile kujundeid joonistada. Joonistamiseks liigub tegelane (kilpkonn) oma virtuaalmaailmas ringi ning j\u00e4tab liikudes maha j\u00e4lje. See j\u00e4lg v\u00f5ib teinekord p\u00e4ris huvitava ja isegi kunstilise kujuga olla.<\/p>\n<h3>Ajalugu<\/h3>\n<p>Virtuaalne kilpkonn ilmus esmakordselt hariduslikus programmeerimiskeeles LOGO, mille l\u00f5id aastal 1967 Wally Feurzeig ja Seymour Papert. See keel oli m\u00f5eldud just lastele algoritmilise m\u00f5tlemise \u00f5petamiseks. Praeguseks on kilpkonnagraafikat v\u00f5imalik kasutada mitmetes programmeerimiskeeltes, ka Pythonis. Viimasel ajal eriti populaarses hariduslikus programmeerimiskeeles <a class=\"urllink\" href=\"https:\/\/scratch.mit.edu\/\" target=\"_blank\" rel=\"noopener noreferrer\"><em>Scratch<\/em><\/a> on samuti tuntavaid kilpkonnagraafika m\u00f5jutusi. LOGO programmeerimist v\u00f5ib proovida <a class=\"urllink\" href=\"http:\/\/www.calormen.com\/jslogo\/\" target=\"_blank\" rel=\"noopener noreferrer\">siin<\/a>. V\u00f5ib-olla on huvitav teada, et \u00fcks esimesi interneti kaudu toimunud kursusi (aastal 1996, tol ajal e-posti kaudu) Eestis oli just <a class=\"urllink\" href=\"http:\/\/kodu.ut.ee\/~eno\/logo\/kursus.html\" target=\"_blank\" rel=\"noopener noreferrer\">programmeerimiskeele Logo kursus<\/a>.<\/p>\n<h3>Alustamine ja liikumine<\/h3>\n<p>J\u00e4rgnevalt uurime, kuidas kilpkonna Pythonis kasutama hakata, ning vaatame, kuidas kujundeid joonistada. Kokkuleppeliselt nimetatakse kilpkonnaks v\u00e4ikest kolmnurka joonistamisv\u00e4ljal.<\/p>\n<p>Selleks, et joonistamisega alustada, tuleb esmalt importida vajalikud k\u00e4sud kilpkonna moodulist. Selleks kirjutame programmi esimesele reale:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">from turtle import *<\/pre>\n<p class=\"vspace\">J\u00e4rgnevalt proovime kirjutada programmi, mille abil joonistataks ruut. Selleks kasutame sobivaid kilpkonnak\u00e4ske:<\/p>\n<ul>\n<li><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">forward(n)<\/code> &#8211; liigu edasi (ingl <em>forward<\/em>) <em>n<\/em> sammu v\u00f5rra (\u00fche sammu pikkus on 1 piksel ehk \u00fcks t\u00e4pike ekraanil);<\/li>\n<li><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">back(n)<\/code> &#8211; liigu tagasi (ingl <em>back<\/em>) <em>n<\/em> sammu v\u00f5rra;<\/li>\n<li><code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">left(d)<\/code><\/code> &#8211; p\u00f6\u00f6ra vasakule (ingl <em>left<\/em>) <em>d<\/em> kraadi;<\/li>\n<li><code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">right(d)<\/code><\/code> &#8211; p\u00f6\u00f6ra paremale (ingl <em>right<\/em>) <em>d<\/em> kraadi.<\/li>\n<\/ul>\n<p class=\"vspace\">Eelnevaid k\u00e4ske sobivas j\u00e4rjekorras rakendades saame j\u00e4rgneva programmi:<\/p>\n<p class=\"vspace\"><strong>N\u00e4iteprogramm. Ruut<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">from turtle import *               # * lisamisel imporditakse k\u00f5ik kilpkonna k\u00e4sud\r\n \r\nforward(100)                       # Kilpkonn liigub edasi 100 pikslit\r\nleft(90)                           # Kilpkonn p\u00f6\u00f6rab 90\u00b0 vasakule\r\nforward(100)                       # Kordame eelnevaid k\u00e4ske, sest ruudul on neli k\u00fclge\r\nleft(90)\r\nforward(100)\r\nleft(90)\r\nforward(100)\r\n \r\nexitonclick()                      # Saame akna sulgeda hiirekl\u00f5psuga<\/pre>\n<p>(<strong>NB!<\/strong> \u00c4ra pane oma Pythoni programmi nimeks <em>turtle.py<\/em>. See ajab Pythoni segadusse, sest moodulil on t\u00e4pselt sama nimi.)<\/p>\n<p class=\"vspace\">Programmi tulemuseks saame<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-309 aligncenter\" src=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/kilpkonn1.png\" alt=\"\" width=\"341\" height=\"320\" srcset=\"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/kilpkonn1.png 341w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/kilpkonn1-300x282.png 300w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/kilpkonn1-65x61.png 65w, https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-content\/uploads\/sites\/6\/2019\/01\/kilpkonn1-225x211.png 225w\" sizes=\"auto, (max-width: 341px) 100vw, 341px\" \/><\/p>\n<p class=\"vspace\">Tegelikult v\u00f5ib kilpkonn j\u00e4rjekindlalt p\u00f6\u00f6rata ka 90\u00b0 paremale, tulemuseks on ikka ruut.<\/p>\n<p class=\"vspace\">N\u00e4iteprogrammis m\u00e4rkame, et kilpkonn peab t\u00e4itma korduvalt samu k\u00e4ske: minema 100 pikslit edasi ja p\u00f6\u00f6rama seej\u00e4rel 90\u00b0 vasakule. Seega on siin tegemist ts\u00fcklilise tegevusega. Ts\u00fcklitest r\u00e4\u00e4gime edasistes osades.<\/p>\n<p class=\"vspace\">Selleks, et v\u00e4hendada kirjutamisvaeva, saab kilpkonna liikuma panna ka l\u00fchemate k\u00e4skudega, kasutades pikemate esituste esimesi ja viimaseid t\u00e4hti.<\/p>\n<ul>\n<li><code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">fd(n)<\/code><\/code> &#8211; v\u00f5rdne k\u00e4suga <code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">forward(n)<\/code>;<\/li>\n<li><code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">bk(n)<\/code><\/code> &#8211; v\u00f5rdne k\u00e4suga <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">back(n)<\/code><\/code>;<\/li>\n<li><code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">lt(d)<\/code><\/code> &#8211; v\u00f5rdne k\u00e4suga <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">left(d)<\/code><\/code>;<\/li>\n<li><code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">rt(d)<\/code><\/code> &#8211; v\u00f5rdne k\u00e4suga <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">right(d)<\/code><\/code>.<\/li>\n<\/ul>\n<p class=\"vspace\">Robot-kilpkonn oskab teha veel palju muudki. T\u00e4psemalt v\u00f5ib vaadata <a class=\"urllink\" href=\"https:\/\/docs.python.org\/3.6\/library\/turtle.html\" target=\"_blank\" rel=\"noopener noreferrer\">Pythoni dokumentatsioonist<\/a>.<\/p>\n<h3>V\u00e4rvimine<\/h3>\n<p>Kilpkonn oskab joonistatud kujundeid v\u00e4rvida ja muuta taustav\u00e4rvi. Selleks, et v\u00e4rvima hakata, tuleb esmalt valida sobiv v\u00e4rv. Seda saab teha k\u00e4suga <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">color(v\u00e4rvi_nimetus)<\/code><\/code>, kus v\u00e4rv antakse s\u00f5nena, mille v\u00e4\u00e4rtuseks on v\u00e4rvi ingliskeelne vaste v\u00f5i v\u00e4rvi kuueteistk\u00fcmnendkoodis esitus. N\u00e4iteks musta v\u00e4rvi esitus kuueteistk\u00fcmnendkoodis on <em>#000000<\/em>. V\u00e4rvikoode saab vaadata <a class=\"urllink\" href=\"http:\/\/www.w3schools.com\/colors\/colors_picker.asp\" target=\"_blank\" rel=\"noopener noreferrer\">siit<\/a>.<\/p>\n<p>N\u00e4iteks<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">color(\"red\")                       # Kilpkonn muutub punaseks<\/pre>\n<p>v\u00f5i<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-linenumbers=\"false\">color(\"#008000\")                   # Kilpkonn muutub tumeroheliseks<\/pre>\n<p class=\"vspace\">Kui v\u00e4rv on valitud, siis tuleb kilpkonnale k\u00e4suga <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">begin_fill()<\/code><\/code> teada anda, et n\u00fc\u00fcd tuleb v\u00e4rvimist alustada. Seda peab tegema vahetult enne kujundi joonistamist, mida v\u00e4rvida soovime. V\u00e4rvimise l\u00f5petamiseks tuleb peale kujundi l\u00f5ppu kirjutada k\u00e4sk <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">end_fill()<\/code><\/code>.<\/p>\n<p class=\"vspace\">J\u00e4rgmiseks kirjutame programmi, mis joonistab punase ringi. Kilpkonn oskab joonistada ringi (ingl <em>circle<\/em>) k\u00e4suga <code><code class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">circle(r)<\/code><\/code>, kus <em>r<\/em> on ringi raadius pikslites.<\/p>\n<p class=\"vspace\"><strong>N\u00e4iteprogramm. Jaapani lipp<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">from turtle import *\r\n \r\ncolor(\"red\")                       # Kilpkonn muutub punaseks\r\nbegin_fill()                       # Kilpkonn alustab ringi v\u00e4rvimist\r\ncircle(100)                        # Kilpkonn joonistab ringi raadiusega 100 pikslit\r\nend_fill()                         # Kilpkonn l\u00f5petab ringi v\u00e4rvimise\r\n \r\nexitonclick()<\/pre>\n<p class=\"vspace\">Kui eelmise programmi puhul oli t\u00e4pselt teada, mis toimub, siis t\u00e4iendame seda programmi juhuslikkusega. Selles programmis imporditakse k\u00e4ske lausa kahest moodulist:<\/p>\n<p class=\"vspace\"><strong>N\u00e4iteprogramm. Sinine, must v\u00f5i valge<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">from turtle import *\r\nfrom random import randint\r\n \r\nv\u00e4rv = randint(1, 3)\r\nif v\u00e4rv == 1:\r\n    color(\"blue\")                  # Sinine\r\nif v\u00e4rv == 2:\r\n    color(\"black\")                 # Must\r\nif v\u00e4rv == 3:\r\n    color(\"white\")                 # Valge valgel taustal\r\nbegin_fill()                       # Kilpkonn alustab ringi v\u00e4rvimist\r\ncircle(100)                        # Kilpkonn joonistab ringi raadiusega 100 pikslit\r\nend_fill()                         # Kilpkonn l\u00f5petab ringi v\u00e4rvimise\r\n \r\nexitonclick()<\/pre>\n<p>Praegu t\u00f5ime kilpkonna m\u00e4ngu selleks, et edasisi natuke keerulisemaid teemasid paremini illustreerida. Kohtume temaga ka edaspidi.<\/p>\n<h3>Videomaterjal<\/h3>\n<p>Vaata ka kilpkonna kasutamise kohta k\u00e4ivat <a href=\"https:\/\/youtu.be\/r5L9BM6vlng\" target=\"_blank\" rel=\"noopener noreferrer\">kokkuv\u00f5tvat videot<\/a>.<\/p>\n","protected":false},"author":12,"menu_order":10,"template":"","meta":{"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":[],"pb_section_license":""},"chapter-type":[],"contributor":[],"license":[],"class_list":["post-259","chapter","type-chapter","status-publish","hentry"],"part":247,"_links":{"self":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters\/259","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/users\/12"}],"version-history":[{"count":8,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters\/259\/revisions"}],"predecessor-version":[{"id":456,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters\/259\/revisions\/456"}],"part":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/parts\/247"}],"metadata":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapters\/259\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/media?parent=259"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/pressbooks\/v2\/chapter-type?post=259"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/contributor?post=259"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/web.htk.tlu.ee\/digitaru\/programmeerimine\/wp-json\/wp\/v2\/license?post=259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}