Dağınık bir çocuk odası hayal edin. Bütün oyuncaklar her yere saçılmış. Birilerinin bunları toplaması gerekiyor değil mi? Bu birileri genelde anne-babalar oluyor. Artık bu işi robotlara bırakıyoruz 😊 KitBot uygulaması bunu sizin yerinize yapıyor. Robotu programlıyorsunuz ve oyuncaklar sepete gidiyor.
Şaka bir tarafa, basit arayüzü, kullanımıyla KitBot uygulaması bizi bekliyor. iOS ve Android platformlarını destekleyen bu uygulama ile herhangi bir programlama becerisi olmadan temel programlama kavramlarını öğreneceksiniz. Uygulama bunu size sırayla açılan bulmacalar ile öğretmeyi hedefliyor. Renkli ve sevimli oyuncaklar 7×7 bulmaca alanında dağılmış durumda yer alıyor. Bu alanın tasarımı duvarlar, engeller gelerek her seferinde değişiyor. Bütün bulmacalarda belirli bir kurgu(senaryo) var. Uygun bir çözümü bulmanız sizden bekleniyor. Şimdi uygulamayı yakından inceleyelim.
KidBot uygulaması açılınca sadece Resim 1’deki ekran karşımıza çıkıyor. Bu ekranda sağ üst köşede arka plan müziği ve ses efektlerini aç-kapa yapabilirsiniz. Bunun dışında başka hiçbir ayar bulunmamaktadır. KidBot’un demo (kısıtlı) sürümünde 12, tam sürümünde toplam 48 bulmaca yer alıyor. Kolaydan zora doğru giden bu bulmacalar sırayla açılıyor. Her bulmacayı bitirdiğinizde kullandığınız algoritmaya ve toplam kullanılan komut sayısına göre size yıldız veriliyor. Bulmacalardaki aldığınız yıldızları buradan görebilirsiniz. 3 yıldız en iyi çözüm anlamına gelmektedir.
İsterseniz KitBot’un bizlere öğretmeye çalıştığı programlama kavramlarını görelim.

Resim 1

Temel Hareket Komutları

İlk 4 bulmaca robotu hareket ettirecek temel komutların kullanımı ile geçmektedir. Oyuncakları toplayıp sepete atmanız gerekmektedir. Buna göre sağa dön, sola dön ve ileri komutlarını kullanıyorsunuz. Resim 2’deki kırmızı kutuda bu komutlar yer alıyor. Komutlar yine çocuk algısına uygun olarak yap-boz parçası şeklinde seçilmiş. Sürükleyip A alanındaki uygun yere bırakıyorsunuz. Çıkarmak için ise bu alandan dışarı atıyorsunuz. A alanı komut dizilimini çalıştıran ana alandır. Yani A alanına herhangi bir komut yerleştirmezseniz robot hareket etmeyecektir. Komutlar yukarından aşağıya doğru çalışmaktadır. Bulmaca alanının altında soldan sağa doğru komutları silme, çalışmayı tamamen durdurma, duraklatma, adım adım çalıştırma ve çalıştırma düğmeleri yer alıyor. Çalıştırma (Run) düğmesine 2 kere basarsanız robot bulmaca alanında daha hızlı hareket edecektir. Bu uzun çözümlerde çok işe yaramaktadır. Bulmacayı çözmek için kullandığınız toplam komut sayısı ve çalıştırınca robotun yaptığı hareket sayısı üstte yer alıyor. Bulmaca alanındaki dağılmış oyuncaklar robot tarafından alındığında sağ üst köşedeki yerlerine yerleşiyorlar. Bu, o oyuncağın alındığı anlamına geliyor. Sepete ulaşırsanız başarı durumunuz gösterilip bir sonraki bulmacaya geçiyorsunuz.

Resim 2

Fonksiyonlar

5 ve 9 arası bulmacalar programlamadaki fonksiyon kavramı üzerinde durmaktadır. Buna göre sık yapılan eylemler önceden tanımlanıp daha sonra gerektiği yerde kullanılır. Bu programcıyı daha fazla kod yazmaktan kurtarır. Ayrıca bir programı yönetmek için en ideal yöntemdir. Resim 3’de yer alan problem iyi analiz edilirse ilerle(3)-sola dön-ilerle(3) çözümü robotu sepete ulaştıracaktır. Dikkatli bakıldığında bu komut grup bir örüntü (desen) yapıp 2 defa tekrar etmiş. Bunu tespit ettiğinizde rahatlıkla fonksiyonları kurabilirsiniz. Hatta bu fonksiyonları daha alt fonksiyonlara da ayırabilirsiniz. Daha sonra bunları gerektiği noktalarda tekrar çağırabilirsiniz. Bulmaca çalıştırıldığında, A alanında yer alan ilk B fonksiyonuna gidecektir. B içinde ise C fonksiyonu yer alıyor. Buradan C’ye zıplanıp C’nin içindeki komutlar çalıştırılır, sonrasında B’de kalınan noktadan devam edilip sola dönüş yapılır ve yine C’ye gidilir. Bu haliyle robot, top ve ayıcığı toplamış oldu. İlk B fonksiyonu bitince A alanındaki ikinci B fonksiyonu tekrar çalıştırılır. Bu sayede sepete ulaşılır.

Resim 3

Bulmaca kurgusuna göre fonksiyonların kullanımı da ilerleyen bulmacalarda değişebilmektedir. Resim 4’te güzel bir örnek bulunuyor. A alanında bir B fonkisyonu çağırılmıştır. Daha önceden hazırlanan bu B fonksiyonun sonunda ise fonksiyon tekrar kendini (B) çağırıyor. Bu şekilde B tekrardan çalıştırılıyor. Bu eylem robot sepete ulaşana kadar yapılıyor. Kendi kendisini çağıran fonksiyonlara programcılıkta öz yinlemeli (rekürsif) fonksiyon denir. Rekürsif fonksiyonun ilginç kullanım şekillerini ilerleyen bulmacalarda görebilirsiniz.

Resim 4

Koşullar

KidBot uygulamasında 17. bulmacada Eğer (if) kavramı bizi karşılıyor. Bundan sonra bütün bulmacalarda da bu komut kullanılıyor. Programlamada yazdığınız kodlar birşeyler yaparken kimi zaman bir noktada durup karar vermeniz gerekir. Programınızın ne yönde gitmesi gerektiğini işte bu Eğer komutu ile sağlarsınız. Resim 5’e dikkatli bakılırsa kırmızı komut kutusunda yarım daire şeklinde yap-boz parçalarını görürsünüz. Bu yapboz parçaları Eğer komutunu temsil etmektedir. Bu parçalar renkli ve renksiz olarak ikiye ayrılmıştır. Olumlu ve olumsuzu (değil) göstermektedir. Örneğin topa ulaşıldıysa renkli, top yoksa renksiz Eğer komutunu kullanmalısınız. Resim 5’te labirentin köşelerine yerleştirilen oyuncaklara ulaşılınca neler yapılacağı, bu oyuncakları gösteren Eğer komutları ile gösterilmiştir. Burada yeşil ok işareti duvar olup olmadığı anlamına geliyor. Labirent içinde ilerleme bu komutların renkli ve renksizleriyle farklı kurgularla yapılabilir.

Resim 5

Döngüler

33. bulmacadan sonra döngü (loop) kavramı ile problemleri çözmeye çalışıyorsunuz. Bu kavramda programlamanın önemli kavramlarından birisidir. Defalarca çalıştırılması gereken komutları tekrar tekrar yazmak yerine döngü içerisinde tanımlarsanız daha az kod yazmış olursunuz. Resim 6’da döngü kırmızı,yeşil ve mavi üçgen ve bu renklere ait yap-boz parçaları ile kuruluyor. Her döngüyü kendi rengine ait parçayla kullanmalısınız. Bulmaca alanı dikkatli analiz edilirse oyuncakların bir adım sonrası duvar ile kapatılmıştır. Bu noktalarda robotu döndürebiliriz. Bunun için şartlı bir döngü yapısı kurmamız gerekir. A alanında duvara (renkli) değinceye kadar robot ilerliyor. Şart sağlanırsa döngü bitiyor ve sağa dönüş yapılıyor. Son adımda, fonksiyon tekrar kendini çağırarak şartlı döngüyü baştan diğer oyuncaklar içinde çalıştırıyor. Döngüleri şartlı veya şartsız ya da iç içe kurabilirsiniz. Bu şekilde bulmacalarda sizi bekliyor olacak.

Resim 6

Sonuç olarak, KidBot uygulaması sadeliği ve basitliği ön plana alarak daha çok bulmacalarda kavram öğretimine ağırlık vermiş diyebiliriz. Basitten zor doğru ilerleyen bulmacalarda kimi zaman yukarıda bahsedilen programlama kavramlarının hepsini birden kullanmanızı gerektirecek durumlar olabiliyor. Bulmacada yer alan problem iyi analiz edilirse eldeki komutlarla rahatlıkla çözüme ulaşılabilmektedir. Uygulama problem analizi, ileriye dönük akıl yürütme, neden-sonuç ilişkisi kurma, örüntüleri farketme, soyutlama, algoritma geliştirme gibi zihinsel aktiviteleri çalıştırmaktadır. Bunun dışında sıralı komut kullanımı, eğer, döngüler, fonksiyonlar gibi programlamanın temel kavramları da pekiştirilmektedir.

Teknik Özellikler
Uygulamanın Adı Kidbot Full
Arayüz dili İngilizce
Geliştirici Eskape 2 Play
Web sitesi http://www.eskape2play.com
Platform
Versiyon 1.5 1.4.5
Boyut 87.4 Mb 90 Mb
Uyumluluk iOS 8.0+ Android 4.1+
Ücret 1$ 1$