Python Turtle Modülü

Son gunlerde Python ile birlikte gelen modullere daha yakından bakıyorum. Aralarında bazen çok guzel araçlar çıkabiliyor. Mesela benim bugun gostermek istediğim Turtle modulunu daha once hiç gormemiştim. Eminim birçok kişi de bu kutuphaneden habersizdir. Python ile birlikte gelen Turtle modulu ile ekrana istediğiniz yazıyı yazmanızdan tutunda birçok resim ve şekil çizebilirsiniz. Ayrıcana bu modul algoritma kurma mantığını geliştirmekte de onemli bir yere sahip. Yani eğlenirken oğretici de olabiliyor.

Bu modulu kullanmanız için fazladan bir modul yuklemenize gerek yok. Python'un bilgisayarınızda kurulu olması yeterli.

import turtle

kaplumbagam = turtle.Turtle() # ornekliyoruz
kaplumbagam.circle(50) # 50 derece cember ciziyoruz
turtle.getscreen()._root.mainloop() # cemberi ekranda tutuyoruz

Ekrana bir daire çizmek ve bunu ekranda tutmak bu kadar basit. Bu kodu çalıştırdığımızda aşağıdaki gibi bir gorunum elde edeceksiniz.

Python Turtle Graphics

Mesela burada ekrana daireyi çizen ok yerine uçgen kare veya kaplumbağa kullanabiliriz.Bunun için ilk orneklememizi yaptığımız satırda shape isminde tanımlama yapıyoruz.

import turtle

kaplumbagam = turtle.Turtle(shape="turtle") # ornekliyoruz
kaplumbagam.circle(50) # 50 derece cember ciziyoruz
turtle.getscreen()._root.mainloop() # cemberi ekranda tutuyoruz

Ve kodumuzu çalıştırdığımızda şirin kaplumbağımız ekrana dairemizi çiziyor. Shape kısmında arrow, turtle, circle, square, triangle, classic gibi değerleri kullanabilirsiniz.

Python Turtle Graphics Shape

Şimdi de yukarıdaki kodumuzu birazcık geliştirip olimpiyat sembolu yapalım.

import turtle

kaplumbagam = turtle.Turtle(shape="turtle")
kaplumbagam.circle(50)

kaplumbagam.penup()
kaplumbagam.setposition(-120, 0)
kaplumbagam.pendown()
kaplumbagam.circle(50)

kaplumbagam.penup()
kaplumbagam.setposition(60,60)
kaplumbagam.pendown()
kaplumbagam.circle(50)

kaplumbagam.penup()
kaplumbagam.setposition(-60, 60)
kaplumbagam.pendown()
kaplumbagam.circle(50)

kaplumbagam.penup()
kaplumbagam.setposition(-180, 60)
kaplumbagam.pendown()
kaplumbagam.circle(50)

turtle.getscreen()._root.mainloop()

Kodlara baktığınızda olayın ne kadar da basit olduğunu anlamışsınızdır umarım. Basitçe once kalemi kaldırıyoruz, istediğimiz pozisyona getiriyoruz, daha sonra kalemi indirip 50 derece dairemizi çiziyoruz.Ve aşağıdaki gorunum ortaya çıkıyor.

Python Turtle Graphics Olympic Symbol

Ve şimdi de bu kodumuzu biraz daha cancanlı hale getirip bir sınıf yapalım.Bu sınıf içerisinde hem daire çizecek hemde olimpiyat sembolunu oluşturacak bir fonksiyonumuz olsun.Bir de ekrana yazı yazacak fonksiyon ekleyelim.

import turtle

########################################################################
class Kaplumbagam(turtle.Turtle):

    #----------------------------------------------------------------------
    def __init__(self):
        turtle.Turtle.__init__(self, shape="turtle")
        screen = turtle.Screen()
        screen.bgcolor("lightgrey")
        self.pensize(3)

    #----------------------------------------------------------------------
    def daireCiz(self, x, y, renk, derece=50):
        self.penup()
        self.setposition(x, y)
        self.pendown()
        self.color(renk)
        self.circle(derece)

    #----------------------------------------------------------------------
    def olimpiyatSemboluCiz(self):
        positions = [(0, 0, "blue"), (-120, 0, "purple"), (60,60, "red"),
                     (-60, 60, "yellow"), (-180, 60, "green")]
        for x, y, renk in positions:
            self.daireCiz(x, y, renk)

        self.yaziYaz()

    #----------------------------------------------------------------------
    def yaziYaz(self):
        self.penup()
        self.setposition(-60, 0)
        self.setheading(0)
        self.pendown()
        self.color("black")
        self.write("Londra 2012", font=("Arial", 16, "bold"))

if __name__ == "__main__":
    t = Kaplumbagam()
    t.olimpiyatSemboluCiz()
    turtle.getscreen()._root.mainloop()

Kodlarımıza baktığınızda zaten ne yapmak istediğimi çok rahat anlayabilirsiniz. init kısmında once gerekli orneklemelerimiz yaptık ve shape olarak kaplumbağa atadık.Arkaplan rengini açık kahverengi yapıp kalemin boyutunu 3'e getirdik. Daha sonra da gerekli fonksiyonlarımızı tanımladık. Kodumuzu çalıştırdığımız da aşağıdaki gibi bir gorunum elde etmeniz lazım.

Python Turtle Olympic Symbol Shape

İnternette araştırma yaptığımda bazı yerlerde Turtle ile çok guzel çalışmalar yapılmış.Onlardan birkaç ornek vereyim.

Python Turtle

Python Turtle

Python Turtle

Python Turtle

Hepsinin kodlarına buradaki sayfadan ulaşabilirsiniz.

Kısacası Turtle kutuphanesi çok eğlenceli ve eğitici bir oneme sahip. Özellikle Python'a yeni başlayanların Python'a ısınması için kullanılabilir.

comments powered by Disqus