Konu - Nesneler ve Hareketler
Genel Bakış
İlk dersimizde, kullanıcılarımız Kodris platformu ile kodlama dünyasına giriş yapacaklar.
Platformumuzdaki ilk dersimiz olduğu için, öncelikle kullanıcılarımıza algoritma kurma ve kodlama mantığından bahsederek temel düzeyde bilgi ve becerilerini geliştirmeye yardımcı olacağız. Bu amaçla oluşturduğumuz ilk 15 görev tamamlandığında kullanıcılarımız algoritma kurmayı ve kurulan algoritmayı kodlamayı öğreneceklerdir.
Konu Sahnelerinde Kullanılacak Kod ve Blok ikonları
Karakterimizin ilerlemesini sağlamak için kullanılmaktadır. İçerisine yazılan değere göre hareket eder. Örneğin,
forward(5) karakterimizin 5 kare ilerlemesini sağlar.
Karakterimizin sahne içerisinde dönüş yapmasını sağlamak için
kullanılmaktadır. Bu komutumuz sayesinde karakterimiz sağa sola ya da geriye dönüş yapabilmektedir. Ayrıca girilen açı değeri kadar dönüş de yapabilmektedir.
Örneğin,
turn(right), turn(left), turn(back), turn(270) vb. şekillerde kullanılabilir.
Karakterimiz tavşanın sahnede yer alan havuçları toplamasını sağlayan komutumuzdur. getCarrot() komutumuz sayesinde havucun yanına kadar gelen tavşanımız havucu alarak görevini tamamlayabilir.
Örnek Kullanım:
getCarrot()
Karakterimiz rakunun sahnede yer alan mısırları toplamasını sağlayan komutumuzdur. getCorn() komutumuz sayesinde mısırın yanına kadar gelen rakunumuz mısırı alarak görevini tamamlayabilir.
Örnek Kullanım:
getCorn()
Karakterimizin sahneden bir kademe yukarı ve bir adım ileri gitmesini sağlayan komutumuzdur. Bu komutumuz ile karakterlerimiz görev sahnemizde bir üst basamakta yer alan hedeflerimize ulaşabilmektedir.
Örnek Kullanım:
forwardUp()
Karakterimizin sahneden bir kademe aşağı ve bir adım ileri gitmesini sağlayan komutumuzdur. Bu komutumuz ile karakterlerimiz görev sahnemizde bir alt basamakta yer alan hedeflerimize ulaşabilmektedir.
Örnek Kullanım:
forwardDown()
Örnek sahne çözümü: 3. Sahne https://studio.kodris.com/#scene/3
Kodlama Blok Açıklama
1. Başla 2. 3 Kare İlerle 3. Sağa Dön 4. 3 Kare İlerle
Örnek sahne çözümü: 8. Sahne https://studio.kodris.com/#scene/8
1. Başla
2. Bir kare ilerle 3. Havucu Al
Konu - Yardımcı Karakterler
Genel Bakış
Yeni dersimizde kullanıcılarımıza Kodris platformundaki sevimli karakterimiz maymunun görevlerini tamamlayabilmesi için yeni komutlar gösterilecektir. Sevimli karakterimiz kaplumbağa maymuna görevini tamamlaması için yardımcı olacak.
UYARI!
Ekrandaki ana karakterimizi hareket ettirmek için kullandığımız komutlarda örneğin monkey. forward() şeklinde yazmamıza gerek yoktur. Ana karakter için forward() yazılması yeterlidir. Nokta kullanmadan verilen komutlar görevleri tamamlamak için sahnede yer alan ana karakterimiz içindir. Ancak sahnede birden fazla karakter bulunuyorsa ana karakterimiz dışındakileri burada olduğu gibi (nokta kullanarak. Örn:
“turtle.forward()” ) özellikle belirtmemiz gerekmektedir. )
Konu Sahnelerinde Kullanılacak Kod ve Blok ikonları
Karakterimizin sahnede görünen muzları toplamasını sağlayan
komutumuzdur. Bu komutumuz sayesinde maymun karakterimiz muzların yanına kadar gelip muzları toplayabilir ve böylece görevlerini
tamamlayabilmektedir.
Örnek Kullanım:
getBanana()
Kodris platformu temel olarak öğrencilerimizin gerçek kodlama yapmasına yönelik tasarlanmıştır. Bunun içinde sahnede bulunan karakterin blokları hazır halde değil sahnede bulunan karakter üzerine tıklandığında blok ve kod modunda otomatik oluşturulmaktadır. Yardımcı karakter olan
kaplumbağa örneğinde olduğu gibi sahnedeki herhangi bir turtle karakterine tıkladığınızda kaplumbağa bloğu blok modunda otomatik olarak oluşacaktır.
UYARI!
Yardımcı karakterler konumuzda sahne çözümleri için blok modunda algoritma kurmak istediğimiz zaman oyun ekranından kaplumbağamıza tıkladığımızda otomatik olarak kaplumbağa bloğu oluşacaktır. Kod modunda tıklar isek kod kısmına “turtle” yazılacaktır.
Örnek sahne çözümü: 13. Sahne https://studio.kodris.com/#scene/23
Kodlama Blok Açıklama
Başla
Kaplumbağa İki Kare İlerle
Maymun 5 Kare İlerle
Maymun Muzu Al
Maymun Geri Dön
Maymun İki Kare İlerle
Kaplumbağa İki Kare İlerle
Maymun İki Kare İlerle
Maymun Geri Dön
Maymun Muzu Al
Maymun Dört Kare İlerle
Maymun Muzu Al
Konu - Repeat Döngüsü
Genel Bakış
Yeni dersimizde kullanıcılarımıza tekrar edilmesi gereken komutlarımızı kısa yoldan nasıl yazabileceklerini anlatacağız. Bu konunun iyi kavranması ileride işleyeceğimiz pek çok konunun da temelini oluşturmaktadır.
Etkinlik
Sabah kalktığımızda sırayla neler yaparız. (Uyandım – kahvaltı yaptım -- dişlerimi fırçaladım – üstümü giyindim– okula geldim gibi)
“Bu işlemi 100 gün için yapmanı isteseydim ne yapardın?”.
Verdiğimiz sayı miktarınca tekrar eden durumları belirtmek için görevlerimizi tamamlarken tekrar eden ifadelerimiz için yeni bir komut kullanacağız. Bu sayede yapmamız gereken işlemleri bir kez yazmış olacağız fakat tekrar komutumuz içerisinde yer aldıkları için verdiğimiz sayı miktarınca tekrar edecek. Tekrarlı ifadelerimizi birden çok kez aynı şekilde yazmak yerine Kodris platformunda repeat n: komutuyla belirtmemiz gerekiyor. Örneğin bu etkinlik için örnek oluşturmamız gerekirse,
repeat 100:
Uyanmak-kahvaltı yapmak- dişlerimi fırçalamak- üstümü giyinmek- okula gelmek şeklinde olacaktır.
Nedir?
Repeat döngüsü sayesinde tekrar eden işlemlerimizi birden çok kez yazmak yerine döngü içerisinde yazıp tekrar etmesini istediğimiz miktarı belirtmemiz yeterlidir. Bu sayede komut satırlarımızın sayısı azalır ve üç yıldız uygulamasına göre en kısa ve doğru komutlara ulaşabiliriz.
Kodlama Kullanım Kodlama Açıklama
Blok Kullanım Blok Açıklama
Nedir?
Karakterimizin sahnede görünen kemikleri toplamasını sağlayan komutumuzdur. Bu komutumuz sayesinde köpek karakterimiz kemiklerin yanına kadar gelip kemikleri toplayabilir ve böylece görevlerini tamamlayabilmektedir.
Hatalı Yazım Şekilleri
Neden Yanlış Neden Yanlış Doğrusu:
“Repeat” komutu içerisinde tekrar etmesini istediğiniz komutları tab tuşuyla girinti yaptıktan sonra yazmanız gerekmektedir.
“Repeat” komutunun
ardından boşluk bırakıldıktan sonra tekrar sayısı yazılmalı ve “:” işaretiyle birlikte kullanılmalıdır.
İfadeler arasında bırakılması gereken boşluklara ve Repeat içerisinde yazılan komutlar için tab tuşuyla yapılması gereken girintiye dikkat edildiği için kodumuz doğrudur.
Örnek sahne çözümü: 23. Sahne https://studio.kodris.com/#scene/23 Çözüm
Kodlama Blok Açıklama
1. Başla
2. Üç kare ilerle 3. Sağa Dön 4. Üç kare ilerle 5. Sağa Dön 6. Üç kare ilerle 7. Sağa Dön 8. Kemiği Al
Repeat komutu sayesinde çözümümüzü kısaltabiliriz. Aşağıdaki şekilde olduğu gibi tekrar eden komutları Repeat komutu içerisinde yazarak daha az kod yazarak çözüme ulaşmış oluruz.
Repeat komutu ile kısa ve doğru çözüm
1. Başla
2. Repeat İçerisinde Üç Kez:
3.Üç Kare İlerle 4.Sağa Dön 5. Kemiği Al
Konu- Diziler
Genel Bakış
Yeni dersimizde kullanıcılarımız birden çok değişkeni içerisinde tutabilme özelliğine sahip dizileri öğrenecekler. Dizilerin kullanım amaçları içlerinde birden fazla değişkeni aynı zamanda tutabilmeleridir.
Birden fazla dediğimiz sayı 100 ya da 1000 gibi büyük değerler için de geçerlidir. Çok fazla sayıda ve aynı isimdeki değişkenlerimizi tek tek tanımlamak yerine diziler yardımıyla bir arada tutabiliriz. Tek değişkenimiz varken dizi ve değişken aynı gibi düşünülebilir ama birden çok değişken için dizi yerine değişken kullanmamalıyız.
Nedir?
Diziler
[ ]
İçerisinde birden çok değişken tutabilen diziler, görev sahnelerimizde aynı isimde birden çok karakterimiz olduğu durumlarda her bir karakterimize ayrıca görev vermemizi sağlamaktadır. Karakterlerimizi ortak isimleriyle bir dizi içerisine aktarıp verdiğimiz numaralara göre karakterlerimizi çağırabiliriz.
Karakterimiz sevimli pandanın çok sevdiği bambuları toplamasını sağlayan komuttur. Bu komutumuz sayesinde karakterimiz sahnede yer alan bambuları alabilmekte ve görevlerini tamamlayabilmektedir. Komutumuzun düzgün şekilde çalışabilmesini sağlamak için karakterimizin bulunduğu konumdan itibaren gerekli komutlar verilerek bambuların bulundukları karelere kadar sırasıyla ilerlemek ve ardından getBamboo() komutumuz sayesinde bambuları toplamak gerekmektedir.
Kullanım Açıklama
Blok Kullanım Blok Açıklama
Hatalı Yazım Şekilleri
Neden Yanlış Neden Yanlış
Dizilerdeki öğelerimizi çağırmak için numaralarını köşeli parantezler içerisinde yazmamız gerekmektedir.
“[]” (Alt Gr 8-9)
Karakterlerimize özel görevler vermek istediğimizde
isimleriyle birlikte görevleri yazarken aralarına nokta koymamız gerekmektedir.
“panda.getBamboo()” gibi.
Dizi öğelerine ulaşmak için numaralarımız köşeli parantezler içerisinde olduğu ve görev yazarken karakter isimlerinden sonra nokta kullanıldığı için komutumuz doğrudur.
Örnek Çözüm
https://studio.kodris.com/#scene/63
Kodlama Blok Açıklama
Dizi İçinde [0]. Kaplumbağa İki Kare İlerle
Dizi İçinde [1]. Kaplumbağa İki Kare İlerle
Dizi İçinde [2]. Kaplumbağa İki Kare İlerle
Panda 7 Kare İlerle
Bambuyu Al
Konu - For Döngüsü
Genel Bakış
Bu dersimizde görev sahnelerimizde tekrar eden işlemleri kısa yoldan tamamlayabilmek için kullanılması gereken “For Döngüsünü” öğreneceksiniz. Döngü içerisine yazdığımız işlemleri girilen aralık değeri kadar tekrar etmemizi sağlayan “For” birden çok kez tekrarlanan görevlerimizde her adımı tek tek yazmaktansa döngü içerisinde bir kez yazarak kısa yoldan tamamlayabilmemizi sağlamaktadır.
Nedir?
Tekrar etmesini istediğimiz işlemleri ve kaç kez tekrar etmesini istediğimiz belirtebildiğimiz for döngüsü sayesinde görevlerimiz tamamlamak için yapmamız gereken tekrarlı işlemleri kolayca yazabiliriz. For döngüsü içerisine yazmış olduğumuz komutlar aralık olarak belirttiğimiz sayı miktarınca tekrar eder.
Kullanım: Açıklama:
Blok Kullanım Blok Açıklama
Hatalı Yazım Şekilleri
Örnek çözüm
https://studio.kodris.com/#scene/78
Kodlama Blok Açıklama
Başla
For İçinde 5 Kez o Sola Dön o Bir Kare İlerle o Havucu Al o Sağa Dön o Bir Kare İlerle o Havucu Al
İç içe FOR Döngüsü için UYARI
Aşağıda gördüğünüz gibi iki tane tekrarlanan görevimiz bulunmaktadır. Bu ve benzeri durumlarda çözüm için iç içe iki for kullanılabilmektedir. İç içe for döngülerimizi yazarken başlangıç değeri olarak vereceğimiz değişken isimlerini farklı tutmamız görev çözümünün doğru çalışmasını sağlamak açısından önemlidir.
UYARI!
Karakterlerimizin iç içe for kullanarak döngüye uygun şekilde hareket etmesini istediğimiz durumlarda for için kullanacağımız başlangıç değişkenlerimizin isimleri farklı olması görev çözümünün doğru çalışmasını sağlamak açısından önemlidir. Aksi durumda örneğin iç içe yazılan for döngüleri ile birinde 3 birinde 4 tekrar yazarken toplamda 12 yerine 4 kere çalışır. Örnek üzerinde göstermek gerekirse:
for a in range(3):
for a in range(4):
forward()
Normalde iki aynı değişken ismi kullanılmamış olsaydı komut bloğumuz toplamda 12 kez çalışırdı ancak burada her iki döngüde de “a” kullanıldığı için sadece 4 kez çalışacaktır. Bu gibi durumlar olmaması için iç içe for kullanımlarında farklı değişken isimleri yazmalıyız.