Programlama denilince akla hemen robotlar gelecektir. Böyle olması doğaldır, çünkü programlanan her ne ise verdiğiniz komutlara göre çalışacaktır. Bu da onu bir robot yapabilir. Robot teriminden, 1920 yılında ilk defa Çekoslavak yazar Karel Capek, “hizmet eden” anlamında R.U.R. (Rossum’un Evrensel Robotları) adlı eserinde bahsetmiştir. Ancak, bizim karşımızda bu kez hizmet eden değil, biraz agresif ve kötü bir robot bulunuyor😊 Red Bad Robot.

Uygulama, bulmaca tarzında olup robot bitiş noktasına ulaştırılmalıdır. Bu sırada temel hareket komutları, sıralı düşünme, fonksiyonlar ve döngü gibi programlama kavramları öğretilmeye çalışılmaktadır.

Resim 1

Uygulama açıldığında Resim 1’deki gibi basit bir ana menü bizi karşılamaktadır. Start seçeneğinde uygulamanın bulmacaları yer alırken Editor seçeneğinde kendi bulmacalarınızı hazırlayabilirsiniz. Options’dan dil, arka plan müziği ve ses efektlerini değiştirebilirsiniz. Uygulama Polonya (Polish) ve İngilizce dillerini destekliyor. More seçeneği ise bu uygulamanın geliştiricilerinin yapmış olduğu diğer uygulamaları buradan görebilirsiniz. Şimdi bu bölümleri yakından tanıyalım.

Start

Bu bölümde sırayla açılan 24 farklı bulmaca yer alıyor. Bu bulmacalar kolaydan zora doğru ilerliyor. Bulmacalara ait haritaları buradan görebilirsiniz. Ayrıca bitirdiğiniz bulmacalar için kaç komut kullanıdığınız bilgisi de bulunuyor (Resim 2).

Resim 2

Your Levels seçeneği ile Editorbölümünde hazırladığınız programlama bulmacalarını sıralı bir şekilde görebilirsiniz. Burası için en fazla 32 bulmaca hazırlayabilirsiniz.

Network Levels
seçeneğinde kullanıcıların hazırladığı ve uygulama geliştiricisi tarafından onaylanan bulmacalar sergileniyor. Hazırladığınız bulmacaların özgün ve size ait olması gerekiyor. Bu bölümdeki bulmacaları bitirdiğinizde onları değerlendirip yıldız verebiliyorsunuz.

Şimdi Red Bad Robot uygulamasının bir bulmaca ekranını inceleyelim (Resim 3).

Resim 3

Üstten bakışla bulmaca alanını görüyorsunuz. Bu alan satır ve sütunlarla bölünmüştür. Oluşan karelerin üzerinde bulmaca düzeneği yer alıyor. Bulmacaların amacı yeşil başlangıç noktasındaki (Start) robotu kırmızı bitiş noktasına (Finish) ulaştırmaktır. Düzenekler içerisinde sandıklar, açılan-kapanan kapılar, lazer ışınlar, düğmeler kullanılarak kurgulanabiliyor. Resim 3’te görüldüğü gibi bulmaca alanının solunda çalıştırma, hızlandırma, temizleme, ayarlar ve çıkışdüğmeleri yer alıyor. Altta ise robotu hareket ettirecek temel komutlar(sol-sağ,ileri), ateş etme, giriş-çıkış teleport komutları ve fonksiyonlar(P1,P2) yer alıyor.

Ekranın sağında ise Main Memory alanı bulunuyor. Buraya aşağıdaki komutları tıklayarak yerleştiriyorsunuz. En fazla 12 komut girilebiliyor. Girilen komutları silmek için yine ilgili komutun üzerine tıklamalısınız. Komut taşımaişlemi ne yazık ki yoktur. Bunun olmaması kimi zaman komut girişinde zorluklar yaşatıyor.
Main Memory alanın altında P1 Memory ve P2 Memory alanları yer alıyor. Bunlardaprogramcılıkta çok kullanılan fonksiyon kavramının çalıştırıldığı alanlar. Bualanlarda da komut girişi sınırlı. Her üç alanda da komut girişlerinin sınırlıtutulmasıyla bulmacada yer alan problemi çözebilecek en etkili ve kısa yolun bulunması hedeflenmektedir. Çözümlerinizi bu üç alanı kullanarak gerçekleştirmelisiniz.

Robot, temel hareket komutlarını yapmanın yanısıra kutu(sandık) taşıma, ateş etme, kapı açma, teleport(ışınlanma) gibi ekstraişleri de yerine getiriyor. Bunlar ilgili bulmacalarda çıkıyor. Bulmacada yer alan problemi bu özellikleri de göz önüne alarak çözmelisiniz.

Resim 4

Birazda Red Bad Robot uygulamasının temel programlama kavramlarından fonksiyon ve döngü kavramlarına nasıl yaklaştığını inceleyelim. Resim 4’te merdiven şeklindeki tasarımın başında başlangıç, ucundada bitiş noktası yer alıyor.  Problemin iyi analiz edilmesi gerekiyor. Buna göre, robot, merdiven boyuncaileri-sağ-ileri-sol komut grubunu devamlı olarak yapmaktadır. Bu örüntüyü(desen) tespit ettiyseniz problem büyük ölçüde çözülmüş demektir. Sıra bunu algoritma haline getirmeye geldi. Bu aşamada tekrarlı desenler için fonksiyonları kullanabiliriz. P1 Memory alanına bahsettiğimiz komut grubunu yazmalıyız. Bu komut grubunu Main Memory alanında biraz önce hazırladığımız fonksiyonun adını (P1) çağırarak kullanabiliriz. Bu problemi 7 tane P1fonksiyonu çağırarak çözebiliriz. Ancak programcılıkta esas olan az komutla aynı işlemi yapabilmektedir. Bunun için bir diğer kavram imdadımıza yetişiyor:döngüler. Bu uygulamada direkt olarak bir döngü komutu yer almıyor. Fonksiyon içinden fonksiyon çağırılınca döngü oluşmuş oluyor (öz yineleme). Red Bad Robot döngü kavramına böyle yaklaşmış. Bunun örneğimizde uygulanışını Resim 4’te görebilirsiniz. Bulmaca çalıştırıldığında Main alanında verilen P1 fonksiyonuna gidilir. P1 içinden yine P1 çağırıldığı için aynı işlemler bitiş noktasına kadar yapılır. Bitişe ulaşınca görev başarıyla tamamlanmış olur. Bu çözümde ise toplam 6 komut kullanmış olduk.

Editor

Resim 5

Uygulamanın bu bölümünde tamamen size ait bulmacalar tasarlayabilirsiniz.  Resim 5 ekranı, tasarıma başlamadan önceki bazı ayarların yapıldığı yerdir. Burada Level Size ile bulmaca alanının satır ve sütun sayısını belirleyebilirsiniz. Level Slot seçeneği hazırlanacak olan bulmacanın daha önce bahsettiğim size ait Your Levels bölümünde hangi sırada yer alacağını atıyorsunuz. Buradan aynı zamanda daha önce yaptığınız bulmacaları da seçip tekrar düzenleyebilirsiniz. Clear previouse content seçeneği seçili ise öncekileri silecektir. Level Caption seçeneğinde bulmaca açılınca oyuncunun görevlerini tanımlıyorsunuz.Bunun için 3 satırı da kullanmalısınız. Title bulmacanın adını Author ise bulmacayı yapanı temsil ediyor. Level Commands seçeneği ise bulmacanın çözümünde hangi komutların olup-olmamasını belirlemenizi sağlıyor. Bütün  bu ayarlarmalar yapıldı ise Edit düğmesine basıp harita kısmına geçebilirsiniz.

Bir önceki ekranda belirttiğiniz satır ve sütuna göre bir bulmaca alanı açılacaktır. Resim 6’da None yazan kareleri beyaz karolarla doldurursanız robotun dolaşabileceği bir yol yapmış olursunuz. Kafanızdaki kurguya göre sağda yer alan lazer, düğme, kapı, sandık, başlangıç-bitiş bayraklarını istediğiniz kadar kullanabilirsiniz. Bu araçların pozisyonunu Angle seçeneği ile değiştirebilirsiniz.Yaptığınız her işlemi Undo/Redodüğmeleri ile ileri geri alabilirsiniz. Bulmacanın hazır ise Save düğmesi ile saklayabilirsiniz.
Hazırladığınız bulmaca Your Levels kısmında ilgili sırada yer alacaktır.Bulmacanız internet yoluyla Red Bad Robot uygulamasının geliştiren kişilere de ulaşacaktır. Bulmacanız orjinallik ve tasarıma göre değerlendirip uygulamayı kullanacak diğer kullanıcıların da görmesi için Network Levels bölümüne alınacaktır. Bundan sonra bulmacanızın ad ıve oluşturan kişi olarak isminiz listede gözükecektir. Bulmacanızı çözen kişiler bitişte bulmacanızı değerlendirip size yıldız vereceklerdir. Bu sayede bulmacanızın diğerlerine göre durumunu karşılaştırabilirsiniz.

Resim 6

Arayüz tasarımında ciddi iyileştirmelere ihtiyacı olan Red Bad Robot uygulaması genel itibariyle programlama ve zihinsel aktivite gelişimine olumlu katkılarının olacağını düşünüyorum. Problem üzerinde analitik düşünme, ileriye dönük uzamsal akıl yürütme, algoritma kurma vegeliştirme ve üretkenlik gibi becerilerin gelişmesini sağlayabilir. Programlama yönüyle sıralı düşünme, fonksiyon geliştirme ve döngü kavramlarını pekiştirdiği söylenebilir.

Teknik Özellikler  *
Uygulama AdıRed Bad Robot
Dilİngilizce, Polish
GeliştiriciElephants Will Be Mine
Web sitesihttp://www.elephantswillbemine.com
Versiyon1.0
Boyut10.7 MB
UyumlulukAndroid 3.1+
Uygulama içi ücretÜcretsiz

* Tablodaki bilgiler zamana bağlı olarak değişebilmektedir.