
Oyun Oynayarak Python Öğren! – CodeCombat
code.org tarafından geliştirilen CodeCombat oyunu, Python, JavaScript ve Lua dillerinin öğretimi için hazırlanmış web tabanlı bir strateji oyunudur. Türkçe dil desteği de bulunan oyun öğrencilere “Oyun oynayarak kodlamayı öğren” sloganıyla kodlamada gösterilecek başarılı bir platformdur.
Oyun ilk başlarda 9 yaşındaki çocukları hedeflesede, şuanki gelişme aşamasında ki her yaşa uygun hale getirilmiş ve seviyelere ayırılmıştır.
Karakterimizi Seçelim
Oyuna ilk giriş yaptığımızda, “ön tanımlı” dil seçmemizi isteyecektir. Ön tanımlı dil seçtikten sonra karakterinizi belirleyin.
Kaç Yaşındasın?
Yaşınızı doğru belirmenizde fayda var, seviyenize göre sorular sizi sıkmayacaktır.
Basit Bir Yürüyüş…
Size verilen ip uçlarını kullanarak, elmaslarını kullanabilirsiniz.
1 2 3 |
hero.moveRight() hero.moveDown() hero.moveRight() |
Bu kodlarda, hero sınıfına ait fonksiyonlarını çağırıyorum. Önce “sağ” sonra “aşşağı” ve tekrar sağa gitsin.
Biraz Daha Zorlaştıralım…
Oyunun Temel Mantığı Nedir?
OOP(Object Oriented Programming) ve fonksiyonel programlama iki yapı, codecombat eğitimin temel mantığını oluşturmaktadır.
Örneğin;
Python’da bu çalışan kodların arka planda nasıl işlediğine bakalım.
Fonksiyon olarak
1 2 3 4 5 6 7 8 |
def F(x): #x(metinsel ifade) girdisi hazır. print(x,' Merhaba') print(x, ' Naber') print(x, ' Nasılsın') # Burada gelen x girdilerine mesajlari veriyor. F('Ali') # gelen 3 adet print komutunu ekrana yazdırıyor. |
Çıktı;
1 2 3 |
Ali Merhaba Ali Naber Ali Nasılsın |
Nesnel Olarak
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
class Hesapla(): """Toplama Sınıfı""" def __init__(self,x,y): self.x = x self.y = y def Topla(self): toplam = self.x+self.y return toplam def cikarma(self): cikar = self.x-self.y return cikar Sinifi_cagir = Hesapla(2,3) # değerleri yolladık. # sinifin içindeki topla fonk. çağır. print(Sinifi_cagir.Topla()) # sinifin içindeki çıkarma fonk. çağır. print(Sinifi_cagir.cikarma()) |
Çıktı ;
1 2 |
>>> 5 >>> -1 |
Yorumlar ( 3 )
Eline sağlık.
Eline sağlık.
Teşekkürler, çok güzel bir paylaşım olmuş.