{"id":223,"date":"2011-02-10T16:37:17","date_gmt":"2011-02-10T13:37:17","guid":{"rendered":"http:\/\/python.pingviinitiivul.ee\/?p=223"},"modified":"2011-02-10T21:34:44","modified_gmt":"2011-02-10T18:34:44","slug":"kaheksateist","status":"publish","type":"post","link":"https:\/\/python.pingviinitiivul.ee\/?p=223","title":{"rendered":"Kaheksateist"},"content":{"rendered":"<p>Vaatasime eelmisel korral PyGame graafikamoodulit, mis v\u00f5imaldab kiiresti reageerivaid ja ilusaid programme teha, n\u00e4iteks m\u00e4nge.<\/p>\n<p>Selliste programmide p\u00f5hituum (akna loomise protseduur ja vajalikud lisateegid) on selline:<\/p>\n<p><code>#!\/usr\/bin\/python<br \/>\n# -*- coding: utf-8 -*-<br \/>\n# PyGmTest.py<br \/>\nimport pygame, sys<br \/>\nfrom pygame.locals import *<br \/>\npygame.init()<br \/>\nekraan=pygame.display.set_mode((800,600),0,32)<br \/>\nwhile True:<br \/>\n&nbsp;&nbsp;&nbsp;    for event in pygame.event.get():<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;        if event.type == QUIT:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            pygame.quit()<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            sys.exit()<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;            #siia vahele k\u00e4iks joonistamine v\u00f5i s\u00fcndmused, mida 17. ringitunnis proovisime<br \/>\n&nbsp;&nbsp;&nbsp;    pygame.display.update()<\/code><\/p>\n<p><a href=\"http:\/\/www.thenewboston.com\">The New Boston<\/a> r\u00e4\u00e4gib joonistamisest nii:<br \/>\n<iframe loading=\"lazy\" title=\"YouTube video player\" width=\"640\" height=\"390\" src=\"http:\/\/www.youtube.com\/embed\/LdXtjCfU_4g\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>Seega, t\u00f5lgitult ja veidi teiste parameetritega v\u00f5iks joonistama panna n\u00e4iteks nii (eelmisel koodil kommenteeritud kohta lisada):<br \/>\n    <code>ekraan.lock()<br \/>\n    pygame.draw.rect(ekraan,  (140, 140, 230),  Rect((610,  10),  (180, 580)))<br \/>\n    ekraan.unlock() <\/code>       <\/p>\n<p>J\u00e4rgmises videos r\u00e4\u00e4gitakse kuidas joonistada hulknurki (pol\u00fcgon\/polygon &#8211; tuleneb Kreeka keelest):<\/p>\n<p><iframe loading=\"lazy\" title=\"YouTube video player\" width=\"640\" height=\"390\" src=\"http:\/\/www.youtube.com\/embed\/I2dhn3UOWKc\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>Sealne n\u00e4ide ei ole ehk k\u00f5ige efektiivsem. Kui tahame joonistada palju hulknurki, siis selle asemel oleks asjalikum pigem teha eraldi funktsioon nende loomiseks. P\u00fc\u00fcame n\u00fc\u00fcd meie oma Galaktika programmi portida \u00fcmber PyGame graafikale.<\/p>\n<p>Selleks haarame kaasa Galaktika moodulid ja lisame eraldi uue funktsiooni, mis annab \u00fchele koordinaadile vastava t\u00e4he joonistamiseks sobiva hulknurga vastu.<\/p>\n<p>N\u00e4iteks k\u00f5ige lihtsam koordinaatide nimekirja (hulknurga tarbeks) koostaja:<\/p>\n<p><code>def taheke(x,  y):<br \/>\n    return ((x-5, y), (x-1, y-1), (x, y-5), (x+1, y-1),  (x+5, y),  (x+1, y+1),  (x, y+5),  (x-1, y+1))<\/code><\/p>\n<p>M\u00e4rkus: PyGame ei toeta kuueteistk\u00fcmnends\u00fcsteemis ehk #FF9900 t\u00fc\u00fcpi RGB v\u00e4rvide kirja panekut. Selle asemel peab olema k\u00fcmnends\u00fcsteemis ja sulgudes: (255, 99, 0). Kuueteistk\u00fcmnends\u00fcsteemis suurim kahekohaline number oli FF ehk 255. Ka k\u00fcmnends\u00fcsteemis ei saa \u00fchegi v\u00e4rvi v\u00e4\u00e4rtus olla sellest suurem ega nullist v\u00e4iksem. Samuti mitte komakohtadega arv.<\/p>\n<p>Viimaks vaatame paari n\u00e4idet <a href=\"http:\/\/python.pingviinitiivul.ee\/wp-content\/uploads\/2011\/02\/galaktika2.zip\">failis<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vaatasime eelmisel korral PyGame graafikamoodulit, mis v\u00f5imaldab kiiresti reageerivaid ja ilusaid programme teha, n\u00e4iteks m\u00e4nge. Selliste programmide p\u00f5hituum (akna loomise protseduur ja vajalikud lisateegid) on selline: #!\/usr\/bin\/python # -*- coding: utf-8 -*- # PyGmTest.py import pygame, sys from pygame.locals import &hellip; <a href=\"https:\/\/python.pingviinitiivul.ee\/?p=223\">J\u00e4tka lugemist <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-223","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/python.pingviinitiivul.ee\/index.php?rest_route=\/wp\/v2\/posts\/223","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/python.pingviinitiivul.ee\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/python.pingviinitiivul.ee\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/python.pingviinitiivul.ee\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/python.pingviinitiivul.ee\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=223"}],"version-history":[{"count":8,"href":"https:\/\/python.pingviinitiivul.ee\/index.php?rest_route=\/wp\/v2\/posts\/223\/revisions"}],"predecessor-version":[{"id":234,"href":"https:\/\/python.pingviinitiivul.ee\/index.php?rest_route=\/wp\/v2\/posts\/223\/revisions\/234"}],"wp:attachment":[{"href":"https:\/\/python.pingviinitiivul.ee\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=223"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/python.pingviinitiivul.ee\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=223"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/python.pingviinitiivul.ee\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}