top of page

BTY 6.2.13 - Düşünen Bilgisayar


Geçtiğimiz hafta Scratch’le bir animasyon yapmış, karakterimizi hareket ettirmiştik. Bu hafta iki proje yapacağız. İlk projemiz scratch ile bizim sorularımıza cevap veren, bize sorular soran bir karakter yaratacağız. Daha sonra ise 23 Nisan ile ilgili bir proje yapacağız. İlk projemizdeki karakterimizin kodlarını yazarken daha önce kullanmadığımız algılama ve işlemler blok kodlarını kullanacağız. Bu nedenle önce bu kodları inceleyelim.











Algılama ve İşlemler Blokları


Aşağıda algılama ve işlemler bloklarının ne işe yaradığı açıklanmaktadır. Sağdaki resimde ise algılama ve işlemler blokları içerisinde yer alan kodlar gösterilmektedir.


Algılama Bloğu: Bu blok bize nesnelerin birbiriyle iletişime

geçmesini sağlayan işlemleri gerçekleştirmemizi sağlayan komutları sunar.

Mesela yolda yürürken önümüze bir engel çıkınca ne yapacağımız bellidir. İşte burada yer alan komutlar da kuklalarımız için benzer durumlarda ne yapacağımızı belirlememizi sağlar.

“Ağaca yaklaştığında” ya da “Ağaca dokununca” gibi komutlar yardımıyla projemizi daha gerçekçi hâle getirmemiz mümkündür.


İşlemler Bloğu: Bu blokta yer alan komutlar bizim matematiksel işaretleri projelerimizde kullanmamıza yardımcı olur. “+, -, *, /, =, >, <” gibi işlemleri bu blok yardımıyla projelerimizde kullanabiliriz. Bir başka görevi de algılama bloğundaki komutları kullanırken bize yardımcı olmasıdır.

Bir oyun tasarlarken karşınıza çıkan engel bir renk içeriyorsa bu blokta yer alan komutlar yardımıyla gerekli tanımlamamızı yapabiliriz. Bu haftanın projesini yaparken bu kodlardan yararlanacağız.








Bu haftanın projeleri


Bu hafta önce aşağıda solda gördüğünüz gibi bizimle sohbet eden bir uzaylı tasarlayacağız. Ardından sağdaki resimde görünen 23 Nisanla ilgili okulu süsleme animasyonu yapacağız. Önce sohbet eden uzaylı projemize başlayalım.








Scratch proje örneği - Uzaylı ile sohbet


Geçtiğimiz hafta iki karakteri birbirleriyle konuşturmuştuk, bu hafta oluşturacağımız karakter bize soru soracak ve bizimle konuşacak. Bu proje için öncelikle 25 adımı dikkatle okuyalım ve inceleyelim. Ardından bu adımların nasıl uygulandığını videodan izleyerek görelim. Son olarak projemizin tamamlanan halini inceleyelim.


Adım 1:


Programımızı açıyoruz. Her zamanki gibi karşımıza programın bize otomatik olarak verdiği kukla olan turuncu kedimiz çıkıyor.













Adım 2:


Bu projede turuncu kediyi kullanmayacağız. Bu nedenle turuncu kediyi siliyoruz. Bunun için kedi üzerine sağ tıklayıp silebiliriz. Ya da yukarıdaki makas butonuna basarak bu işlemi gerçekleştirebiliriz.











Adım 3:


Kukla kütüphanesini açıyoruz. Buradan projemizde kullanacağımız kuklamızı seçeceğiz.











Adım 4:


Kukla kütüphanesinden bu proje için Nano kuklasını seçeceğiz.












Adım 5:


Kuklamız ekrana geldi. Şimdi dekorumuzu seçelim. Bunun için dekor kütüphanesini açıyoruz ve uzay arka planı olan space'yi seçiyoruz.












Adım 6:


Kuklamız ve dekorumuz- hazır. Şimdi projemize başlayabiliriz.










Adım 7:


Bu projede karakterimizin bizim ile konuşmasını sağlayacağız. Önce projemizin nasıl başlayacağını belirleyen kodlar olan olaylar kodları içerisinden bu kukla tıklanınca kodunu sürüklüyoruz. Ardından oluşturduğumuz karakterin bize soru sormasını sağlamak için algılama kodları içerisinde yer alan adın ne diye sor ve bekle kodunu sürüklüyoruz.


Daha sonra verdiğimiz cevaptan sonra karakterimizin yeniden yorum yapmasını istediğimiz için görünüm bloklarından ...... de 2 saniye bloğunu sürükleyip içerisinde ne kadar güzel bir isim yazıyoruz. Aşağıdan inceleyiniz.









Adım 8:


Yazdığımız kodlarla karakterimiz hep aynı cevabı verecek. Bu cevabın değişmesini sağlayabiliriz. Karakterimizin bize verdiği ne güzel bir isim cevabı yerine bizim vereceğimiz isme göre cevap vermesini sağlayabiliriz.


Bunun için algılama kodlarından yanıt kodunu ve işlemler kodlarından .... ile .... 'i birleştir kodlarını alıyoruz. Daha sonra yanıt kodunu world yazan yere sürükleyelim ve hello yazan yeri merhaba diye güncelleyelim. Son olarak bu oluşturduğumuz bloğu .... de .... saniye kodunun içine yerleştirelim.


Bu oluşturduğumuz kod şu işe yarayacak. Karakterimiz bize ismimizi soracak. Biz ismimizi gireceğiz. Ardından karakterimiz bizim verdiğimiz ismi kullanarak bize yanıt verecek. Aşağıdan inceleyelim.











Adım 9:


Bazen sorduğumuz ismi sonradan başka şeyler için kullanmak isteyebiliriz. bu durumda isim adı altında yeni bir değişken oluşturalım. Bunun için veri kodlarından bir değişken oluştura tıklıyoruz. Sonra değişkenimizin adını ''isim'' olarak belirliyoruz.








Adım 10:


Yeni değişkenimiz veri grubunda oluştu. Şimdi buradan isim .... olsun kodunu çalışma alanımıza alalım. İsim ve yanıt olsun şeklinde iç içe yerleştirelim. Yine verilerden isim kodunu Merhaba ile ''isim'' i birleştir şeklinde güncelleyelim.










Adım 11:


Şimdi kodumuzu aşağıdaki gibi değiştiriyoruz. Böylece artık cevap olarak yazdığımız isim bir değişken olarak saklandı ve biz onu farklı kodlar içinde de kullanabiliriz. Aşağıda Merhaba ile İsim i birleştir kodu ise karakterin bize ismimizle merhaba demesini sağlayacak. Örneğin Merhaba Ahmet diyecek.










Adım 12:


Ayrıca artık oluşturduğumuz ''isim'' değişkeni artık ekranımızın sol üst kısmında görünüyor. Aşağıdan inceleyelim.








Adım 13:


Oluşturduğumuz isim değişkenini başka kodlar için de kullanalım. Karakterimizin isim değişkeni sayesinde bizim ismimizle bize soru sormasını sağlayalım. Bunun için yine algılama bloklarından .... diye sor ve bekle kodunu alıp içerisine yine işlemler kodundan .... ile ... birleştir kodunu kullanarak yeni bir soru sormasını sağlayalım. Bu sayede karakterimiz bize ismimizi kullanarak yeni bir soru soracak. Bu soruyu okula gidiyor musun? olarak belirledik. Yani bize Okula gidiyor musun Ahmet? diyecek.









Adım 14:


Yukarıda oluşturduğumuz okula gidiyor musun? sorusunun cevabı evet ise karakterimizin harika demesini sağlayalım. Bunun için kontrol bloklarından eğer ... ise kodunu alalım. Sonra işlemler bloklarından bir eşitlik kodu alalım. Yine algılama bloklarından yanıt kodunu ve görünüm bloklarından hello de 2 saniye bloğunu alalım.











Adım 15:


Yukarıda belirlediğimiz kodları aşağıdaki gibi düzenleyelim. Eşitlik kodunun sol tarafına yanıt kodunu ekleyelim. Sağ tarafına ise Evet yazalım. Sonra eşitlik kodunu eğer .... ise kodunun üst boşluğuna yerleştirelim. Sonra eğer ... ise kodunun alt boşluğuna ise Hello de 2 saniye bloğunu yerleştirelim ve hello yerine Harika yazalım.


Bu kodu yazdığımızda karakterimizin okula gidiyor musun sorusuna sorusuna verdiğimiz yanıt evet ise karakterimiz harika diyecek. Aşağıdan inceleyelim.










Adım 16:


Okula gidiyor musun sorusuna evet yerine başka bir cevap verdiğimizde de yanıt vermesini sağlayalım. Bunun için Eğer ... ise kodu yerine eğer ... ise, değilse kodunu kontrol blokları içerisinden alıp aşağıdaki gibi diğer kodları bu kodun içerisinde yerleştirelim. Yani artık okula gidiyor musun sorusuna cevap evet değilse Hımm diyecek.










Adım 17:


Şimdi Nanonun sorusuna cevap verdiğimizde arka planımızın yani dekorumuzun değişmesini sağlayalım. Bunun için yeni bir dekor daha ekleyelim. Yani artık 1 değil 2 dekorumuz olacak. Bu dekoru yine dekor kütüphanesinden moon dekorunu seçelim.









Adım 18:


Şimdi Nanonun sorusuna cevap verdiğimizde arka planımızın yani dekorumuzun değişmesini sağlayalım. Dekor değişiminin bizim verdiğimiz cevaba göre olmasını sağlayalım. Bunun için Nano yine bir soru sorsun. Algılama blokları içerisinden .... diye sor ve bekle kodunu alıyoruz. ... yerine ben şimdi aya gidiyorum benimle gelmek ister misin sorunusunu ekliyoruz. Altına ise kontrol bloklarından eğer ... ise kodunu alıyoruz ve eşitlik kodu içerisine algılama bloklarından yanıt kodunu sol tarafa, evet yanıtını sağ tarafa ekliyoruz. Alttaki boşluğa ise görünüm bloklarından moon dekoruna geç kodunu ekliyoruz.


Bu şunu sağlayacak. Nano bize soru soracak. Biz evet dersek dekor değişecek. Aşağıdan inceleyiniz.











Adım 19:


Şimdi ise karakterimizin sevinmesini sağlayalım. Bunun için Nanonun kılığını değiştirelim. Nanonun 4 kılığını aşağıda görüyorsunuz. Bunlardan ikinci kılıkta yani Nano-b kılığında gülüyor. Bunun için yanıt evet ise Nano-b kılığına geç kodunu ekliyoruz. Yani yanıtımız evet ise nano gülmeye başlayacak.









Adım 20:


Şimdi ise karakterimizin sevinirken zıplamasını sağlayalım. Bunun için kontrol bloklarından ... defa tekrarla bloğunu alalım. İçerisinde hareket kodlarından y'yi 10 artır, ... saniye bekle kodlarını ekleyelim. Burada y'yi 10 artır kodu karakterimizi dikey yönde yani yukarı doğru 10 birim ilerletecek. 0.1 saniye bekle kodu ise zamanlamayı sağlayacak. Ardından y'yi -10 arttır ise karakterimizi yeniden eski yerine geri gitmesini sağlayacak. İçerisine eksi değeri girmemizin nedeni ise karakterin geri eski yerine gelmesini sağlamak. Bu kodlar sayesinde Nano ekranda zıplıyor olacak.









Adım 21:


Projemizde eklememiz gereken bir kod ise proje başladıktan sonra yani karakterimiz bize sorular sormaya başladıktan sonra proje tamamlandığında tekrar baştaki dekor ve kılığa dönmesini sağlamak. Bunun için ilk baştaki kısma dönüyoruz ve bu kukla tıklanın komutunun altına space dekoruna geç ve onun altına da nano-a kılığına geç diyoruz. Böylece kuklaya tıklandığından proje sıfırdan başlayacak.











Adım 22:


Buraya kadar kodlarımız aşağıdaki gibi olacak. Kodlarımızı daha da geliştireceğiz.









Adım 22:


Şimdi Scratch programında yeni bir özellik kullanacağız. Nanoyu zıplatmak için kullandığımız aşağıdaki kodları kullanarak özel taşlar bölümünden yeni bir komut oluşturalım. Böylece her seferinde bu kodu kullanmamıza gerek kalmayacak.










Adım 23:


Bunun için özel taşlar grubuna gidip bir taş oluştura basıyoruz. Ardından zıpla diye yeni bir taş oluşturuyoruz.













Adım 24:


Bu taşı oluşturduktan sonra tanımla zıpla adında bir kod karşımıza çıkacak. Bu kodun altına zıplama kodlarımızı taşıyalım. Aşağıdan inceleyiniz.









Adım 25:


Böylece projelerde yazdığımız kod bloklarını bir taş olarak tanımlamak ve kullanmak bize oldukça zaman kazandırır. Aşağıdan zıpla taşını yerleştirdiğimiz yeri inceleyelim. Projemiz tamamlandı. Tüm adımların uygulandığı videoyu izleyiniz ve bilgilerinizi pekiştiriniz.










Projemizin yapım videosu:


Tüm adımların nasıl uygulandığını dikkatle inceleyiniz.









Projemizin son hali aşağıdaki gibidir. Aşağıdan projemizin son halini inceleyiniz. Siz de bu projeyi yapmaya çalışınız.