Scratch İle Uygulamalar

Scratch İle Uygulamalar

25 Eylül 2018 0 Yazar: Fikir
Scratch İle Uygulamalar

Bu bölümde Scratch programlama dile ile yapılmış değişik konuları ve seviyeleri içeren örnekler uygulamalar yer almaktadır. Bu örnekler öğrencilerin seviyesine veya ilgilerine göre kullanılabileceği gibi, değişiklikler yapılarak öğrenciler için farklılaştırılarak kullanılabilir.

Stres Çarkı

Bu örnekteki amaç dijital olarak stres çarkı yapmak ve kodlamaktır. Bunun için ilk önce Şekil 67’deki gibi bir stres çarkı çizimi yapılmalıdır. Tasarlanan çarkın çalışması için fare ile üstüne tıklanması gerekmektedir. Stres çarkı, tıklandığından itibaren sağa doğru 30 derecelik açılar ile dönmelidir.

Örneğe ait kod blokları Şekil 68’de gösterilmektedir. Kod blokları incelendiğinde “sürekli tekrarla” ve “eğer” kontrol blokları kullanıldığı görülmektedir. Kod bloklarına göre, fare stres çarkına değdiğinde ve farenin sol tuşu tıklandığında çark sağ doğru, 0,01 saniye aralıklarla dönmeye devam edecektir.

Şekil 67: Stres çarkı kuklası

Şekil 67: Stres çarkı kuklası

Şekil 68: Stres çarkı uygulama kodları

Şekil 68: Stres çarkı uygulama kodları

Elma Toplama Oyunu

Bu oyundaki amaç sahnenin üstünden düşen elmaların bir kâse içinde toplanmasıdır. Toplanan elmaların her biri oyuncuya 10 puan kazandırmaktadır. Yere düşen elmalar yani yakalanamayan elmalar ise oyuncuya 10 puan kaybettirmektedir. Oyunun amaçlanan şekilde kodlanabilmesi için sahnede elma kuklasının yukarıdan aşağıya düşmesi ve kullanıcın yönettiği kâse ile elmaların yakalanması gerekmektedir. Kullanıcını kâse ile elmaları yakılabilmesi kâsenin elmalara değmesinin kontrolü ile gerçekleşmektedir. Oyunda yer alan bir diğer şart ise şimşek kuklası ile verilmektedir. Şimşek kuklası yakalandığında, elma kuklası iki katı hızlı hareket edecektir. Böylece oyunun zorluk derecesi arttırılmış olacaktır. Oyunun tasarlanabilmesi için ilk önce sahne tasarımı yapılmıştır. Şekil 69’da yapılan sahne tasarımı ve kuklalar görülmektedir. Sahnedeki zemin görseli hariç diğer kuklalara Scracth kütüphanesinden erişilebilir. Arka zemin programcı tarafından farklı şekillerde yapılabilir

Şekil 69: Elma toplama oyunu karakterleri

Şekil 69: Elma toplama oyunu karakterleri

Oyun için yazılan kod blokları Şekil 70’de gösterilmektedir. Şekil 70’de Elma kuklasının komutları gösterilmektedir. Burada yeşil bayrağa tıkladığımızda çalışmaya başlayan 3 ayrı kod gurubu vardır. İlk kod gurubunda elmanın hareketleri sağlanmaktadır. Ayrıca puan ve hız değişkenlerinin de değerleri verilmiştir. 1 numara ile gösterilen kod bloğunda elmanın, sahnenin X ekseninde -240 ila 240 arasında rastgele bir konumda Y ekseninde ise 128 noktasında yer alması sağlanmıştır. Bu sayede elma sürekli aynı yükseklikten fakat yatayda farklı noktalardan, aşağı süzülme hareketine başlaması sağlanmıştır. 2 numaralı kod ile sahnenin alt kısmına doğru yatayda rastgele bir noktaya, dikeyde ise sabit -149 noktasına süzülmesi sağlanmıştır.

Burada “hiz” değişkeni elmanın yukarıdan aşağıya doğru kaç saniyede süzüleceğini belirtmektedir. Bu “hiz” değişkeninin değeri düşürülerek daha hızlı hareket eden bir elma kuklası sağlanabilir. Elma kuklasının 3 numaralı kod gurubunda ise; elma kuklasının kase kuklasına değip değmediği sorgulanmaktadır. Eğer kase kuklasına değiyor ise, elma kuklasını gizleriz, ardından puan değişkeninin değerini 10 arttırırız. Burada elmayı gizlememizin amacı puan değişkeninin sürekli olarak artmasını engellemektir. 4 numaralı kod grubunda gösterilen, “zemine değdi mi?” sorgusu ile elmanın zemine değip değmediği sorgulanmaktadır. Eğer ki elma kuklası, zemine değdi ise elma kuklası gizlenmekte ve puan değişkenin değeri 10 azaltılmaktadır. Yine burada da gizle komutu sürekli olarak puan değişkeninin azalmasını engellemek için kullanılmaktadır.

Şekil 70: Elma kuklasının komutları

Şekil 70: Elma kuklasının komutları

Şekil 71’de ise şimşek kuklasının kodları gösterilmektedir. Şimşek kuklası oyunun hızını arttırmakla görevli olan kuk¬ladır. Oyuncu eğer şimşek kuklasına kâse ile değerse elmaların düşüşü hızlanacaktır. Böylece oyun biraz daha zorlaşmış olacaktır. Şimşek kuklası içine 1 ve 2 numarası ile gösterilen iki kod bloğu yazılmıştır. Bunlardan 1 numaralı kod bloğu şimşek kuklasının kâseye değmesi durumunda şimşek kuklasının gizlenmesi ve “hiz” değişkeninin değerinin 0,5 olarak değişmesi içindir. 2 numaralı kod bloğu ise şimşek kuklasının sahnedeki hareketi sağlamak içindir. Elma kuklasında olduğu gibi yatay eksende rastgele bir noktadan, dikey eksende ise sabit 128 noktasından harekete başlayan şimşek kuklası, aşağı doğru süzülürken, yine yatayda rastgele bir noktaya dikeyde ise -149 noktasına süzülmektedir.

Şekil 71: Şimşek kuklası kodları

Şekil 71: Şimşek kuklası kodları

Kase kuklasına ait kod blokları ise Şekil 72’de gösterilmektedir. Kâse kuklasının iki görevi bulunmaktadır: Bunlardan ilki klavyeden sağ ok tuşuna basıldığın¬da sağa gitmesi ve sol ok tuşuna basıldığında ise sola gitmesidir. Kod bloğu üzerinde yatay eksende X değerini arttırdığımızda sağa doğru, X değerini azalttığımızda ise sola doğru hareket edecektir.

Şekil 72: Kase kuklası kodları

Şekil 72: Kase kuklası kodları

Çarpım Tablosu Öğreniyorum

Bu örnekteki amaç sahnede bulunan çocuk kuklasının, oyuncuya rastgele sayıların çarpımını sormasını sağlamaktadır. Oyuncu doğru cevabı verdiğinde ise puan alacaktır.

Şekil 73: Çarpım tablosu uygulaması sahne tasarımı

Şekil 73: Çarpım tablosu uygulaması sahne tasarımı

Oyun için gerekli olan tek kukla Şekil 73’de görülmektedir. Sahnedeki kukla, kullanıcıya rastgele iki sayının çarpımını sormaktadır. Kullanıcı bu soruya doğru veya yanlış cevap verdiğinde sahnedeki kuklanın buna göre hareket etmesi, kullanıcıya sesli ve yazılı dönüt vermesi sağlanmaktadır.

Kod blokları incelendiğinde, Sayı1, Sayı2, Sonuc ve Puan olmak üzere 4 değişken tanımlanmıştır. Sayı1 ve Sayı2 değişkenleri rastgele üretilen iki sayıyı temsil etmektedir. Sonuç değişkeni ise bu rastgele üretilen iki sayının çarpım değerini tutmaktadır. Puan de¬ğişkeni ise kullanıcının vermiş olduğu doğru cevaplardan kazandığı puanları ekranda göstermek için kullanılan değişkendir. Şekil74’de uygulamada kullanılan değişkenler gösterilmektedir.

Şekil 74: Çarpım tablosu uygulamasında kullanılan değişkenler

Şekil 74: Çarpım tablosu uygulamasında kullanılan değişkenler

Şekil 75: Sahnedeki kuklanın çarpım tablosunu sorma komutları

Şekil 75: Sahnedeki kuklanın çarpım tablosunu sorma komutları

Şekil 75’de çarpım tablosunu soracak kuklanın komutları gösterilmektedir. Buna göre öncelikle kuklanın başlangıç kı¬lığı seçilmektedir. Ardından puan değişkeni 0 yapılmaktadır. Uygulamada “say1” ve ”sayı2” değişkenlerinin değeri 1 ila 10 arasında rastgele sayılardan belirlenmektedir. “Sayı1” ve “Sayı2” değişkenlerinin değerleri çarpıldıktan sonra sonuç değişkenine aktarılmaktadır. Daha sonra kullanıcıya “Sayı1” ve “Sayı2” değişkenleri kullanılarak “sayı1 * sayı2 =?” ifadesi ekranda sorulmaktadır. Kullanıcının vermiş olduğu cevap “yanıt” değişkenine aktarılarak, “yanıt” değişkeninin “Sonuc” değişkenine eşit olup olmadığı sorgulanmaktadır. Eğer eşit ise kullanıcıya “Doğru cevap Tebrikler” ifadesi ile dönülmekte ve “doğruCevap” haberi salınacaktır. Eğer ki “Yanıt” değişkeni “Sonuc” değişkenine eşit değil ise kullanıcıya “Yanlış cevap” ifadesi ile dönülecek ve “yanlışCevap” haberi salınır. “doğruCevap” haberi salındığında çalışacak olan kod blokları ise Şekil 76’da gösterilmektedir.

Şekil 76: DoğruCevap haberi geldiğinde çalışacak kodlar

Şekil 76: DoğruCevap haberi geldiğinde çalışacak kodlar

Kullanıcı, vermiş olduğu cevaba uygun olarak metin ile göre dönüt verilmesinin yanı sıra ses ile de geri dönüt verilebilir. Bunun için “DoğruCevap” haberi geldiğinde Şekil 76’de gösterilen 1 numaralı kod bloğu çalışacak ve puan değişkeni 10 puan artarken “clapping” sesi çalacaktır. Aynı zamanda, 2 numaralı kod bloğu çalıştırılacak, sahnedeki kuklanın kılıkları arasında 0.3 saniye de geçiş yapılıp başlangıç kılığına dönülecektir. Benzer şekilde Şekil 76’da gösterildiği gibi, “YanlışCevap” haberi geldiğinde “bell toll” sesi çalacak ve “dm freze” kılığına geçip başlangıca geri dönmesi sağlanmış olacaktır. Şekil 77’de YanlışCevap haberinin kodları görülmektedir. YanlışCevap haberi geldiğinde çalışacak kodları incelediğimizde “bell toll” sesinin çalındığını ve sahnedeki kuklanın kılık değiştirdiğini görmekteyiz.

Şekil 77: YanlışCevap haberi geldiğinde çalışacak kodlar

Şekil 77: YanlışCevap haberi geldiğinde çalışacak kodlar

Tuğla Kırmaca Oyunu

Bu oyunda, sahnenin rastgele bir noktasından gelen topa dokunarak aşağı düşmesini engellemek ve sahnenin üst kısmında bulunan blokları topun hareketiyle kırabilmek amaçlanmıştır. Bu amaçla tasarlanacak oyun için hazırla-nacak sahne tasarımı Şekil 78’de gösterilmiştir. Sahne tasarımını incelendiğinde top, zemin, çubuk, tugla1, tugla2, tugla3, tugla4, tugla5, tugla6, tugla7 ve tugla8 olmak üzere toplam 11 kukla görülmektedir. Sahne dekoru olarak kütüphanede yer alan “brick wall” dekorunu kullanılmıştır. Sesler için ise topun tuğlaya değmesi için “water drop”, topun zemine değmesi için ise “buzz whir” seçilmiştir. Top karakteri, oyun başladığında sahnenin ortasındaki bir noktadan aşağı doğru hareket edecektir. Top sahne üzerinde, sahnenin aşağısına değmemek şartı ile her yöne hareket edebilmektedir. Top, sahnenin aşağısına yani zemine değdiğinde ise oyuncunun haklarından bir tane eksilmektedir. Oyuna başlarken, oyuncunun kaç kere oynayabileceğini belirten “can” adındaki değişken 5 olarak belirlenmiştir. Ekrandaki topun, ekranın aşağısına yani zemine değişmemişi için ise sarı renkle gösterilen çubuk kuklasının fare ile hareket ettirilmesi, topa değdirilerek topun sekmesinin sağlanması ve sahnenin üst kısmında bulunan tuğla kuklalarına değerek onları kırmasının sağlanması gerekmektedir. Top kuklası sahnenin üstündeki tuğlalara her değdiğinde sahnenin alt kısmına doğru tekrar inmelidir. Oyunun bitmesi için gerekli olan şartlar ise şöyle belirlenmiştir: Oyuncunun oynama hakkının 0 olması veya puan değerinin 80’e eşit olması. Her değilen yani kırılan tuğla oyuncuya 10 puan kazandırmaktadır. Oyunun farklı versiyonları yapılmak istenirse süre, tuzaklar veya ödüller eklenebilir. Bu şartlar doğrultusunda yazılan kod blokları Şekil 79’da gösterilmektedir.

Şekil 78: Tuğla kırmaca oyunu sahne tasarımı

Şekil 78: Tuğla kırmaca oyunu sahne tasarımı

Top Kuklasının komutları:

Top Kuklasının komutları: Tablo14’de “Top” kuklası için yazılan kod blokları ayrıntılı olarak gösterilmektedir.

word image 157 - Scratch İle UygulamalarCan değişkeninin değeri 5 yapılmıştır.
word image 158 - Scratch İle UygulamalarPuan değişkeninin değeri 0 yapılmıştır.
word image 159 - Scratch İle UygulamalarTop kuklasının başlangıç noktası belirlenmiştir.
word image 160 - Scratch İle UygulamalarTopun aşağı hareket etmesini sağlayacak şekilde 225 ila 135 arasında rastgele bir değer seçilerek, seçilen yöne dönmesi sağlanmıştır.
word image 161 - Scratch İle UygulamalarSürekli tekrarla bloğu içerisinde ise topun yönü hangi tarafa ise o tarafa doğru 15 adım gitmesi sağlanmıştır.
word image 162 - Scratch İle UygulamalarTop eğer kenara gelir ise sekmesini sağlamak için komutu kullanılmıştır.
word image 163 - Scratch İle UygulamalarSürekli tekrarla bloğu içerisinde “Top” karakterinin “Çubuk” karakterine değip değmediği sorgulanmaktadır. Buna göre top karakteri eğer Çubuk karakterine değer ise topun yukarı doğru hareket etmesini isteriz. Bu amaçla topun yönünü -30 ila 30 arasında rastgele bir sayı hesaplanarak o yöne dönmesi sağlanır.
word image 90 - Scratch İle Uygulamalar“Top” karakterinin zemine değmesi durumunda ise hem top karakterinin yönü yukarı doğru çevrilmesi hem oyun oynama hakkının sayısını tutan can değişkeninin değerinin 1 azaltılması hem de kullanıcıyı uyarmak için “buzz whir” sesinin çalınması sağlanmıştır.
word image 164 - Scratch İle UygulamalarTop karakterine yazdığımız bir diğer kod ise oyunun durmasını sağlayacak kodlardır. Uygulamada toplam 8 tuğlamız bulunur ve her tuğla kırıldığında 10 puan kazanacaktır. Böylelikle oyunun tamamlanması için 80 puan toplanabilir. Ayrıca oyun oynama hakkının da 0 olması durumunda da oyun durdurulacaktır. Her iki şarttan bir tanesi sağlandığında oyunun durdurulur.

Şekil 79’da top kuklası için yazılan komutlar bir arada gösterilmektedir.

Şekil 79: Top kuklasının kodları-1

Şekil 79: Top kuklasının kodları-1

Top kuklasına eklenen ikinci kod blokları, top kuklasının tuğlalara çarptığında ekranın aşağısına dönmesini sağlamak içindir. Top kuklası, her bir tuğlaya çarptığında, yönü 225 ile 135 arasında rastgele bir değer alarak, o yöne doğru dönmesi sağlanmaktadır.

Şekil 80: Top kuklasının tuğlalara çarptığında aşağı yöne doğru dönmesini sağlayan şart ifadeleri

Şekil 80: Top kuklasının tuğlalara çarptığında aşağı yöne doğru dönmesini sağlayan şart ifadeleri

.

Şekil 80’de gösterilen komut bloğu ile “top” kuklası “Tuğla1” veya “Tuğla2” kuklalarına değdiğinde top kuklasının yönü aşağı doğru dönmektedir. Bu şart ifadeleri kod bloğuna eklenmediği durumda, “top” kuklası tüm tuğla kuklalarının içinden geçerek, ekranın bir yerine değinceye kadar yönünü değiştirmeyecektir. “Top” kuklasının yönünü belirlemek için yazılan diğer kod blokları ise Şekil 81’de gösterilmektedir.

Şekil 81: Top kuklası komutları-2

Şekil 81: Top kuklası komutları-2

Çubuk Kuklası Kodları:

Çubuk kuklası sahnenin alt kısmında farenin sağa-sola hareket etmesi ile hareket eden kukladır. Şekil 82’de çubuk kuklasının kodları gösterilmektedir. Kod blokları incelediğimizde çubuk kuklasının X eksenindeki yeri, farenin X esenindeki yeri ile aynı olacak şekilde ayarlandığı görülmektedir. Böylece kullanıcı fareyi sağa veya sola hareket ettirdiğinde çubuk kuklası da fare ile beraber etmesi sağlanmış olacaktır.

Şekil 82: Çubuk kuklası komutları

Şekil 82: Çubuk kuklası komutları

Tuğla Kuklalarının Kodları:

Şekil 83’de tuğla kuklaları için yazılmış olan kod blokları gösterilmektedir. Bu kod blokları her tuğla kuklası için kullanılmaktadır. Kodlar top kuklasının, tuğla kuklasına değme durumunda “water drop” sesinin çalınmasını, ardından tuğlanın gizlenmesini ve puanın 10 arttırılmasını içermektedir. Bu durum döngü ile sürekli hale getirilmiştir.

Şekil 83: Tuğla kuklası kodları

Şekil 83: Tuğla kuklası kodları

Ohm Kanunu Simulatörü

Bu uygulamamızda Ohm kanunun açıklayan bir simulatör yapılmaktadır. Bir direncin (R) uçlarına, bir gerilim (V) uygulandığında, direnç üzerinden bir akım (I) geçmektedir. Ohm kanunu olarak bilinen bu kanunun formülü Şekil 84’de gösterilmektedir.

Şekil 84: Ohm kanunu formülü

Şekil 84: Ohm kanunu formülü

Ohm kanunu simule eden bir program için öncelikli sahne tasarımı yapılmıştır. Şekil 85’’de görüldüğü üzere gerilim ve direnç değerlerini kullanıcın tarafından belirlenebilmesi için “kaydırma çubuğu”/“slider” kullanılmaktadır. Devreden geçen akım değişkeni ise kodlar ile hesaplanarak sahnede sonuç değeri olarak gösterilmektedir.

Şekil 85: Ohm kanunu simulatörü sahne tasarımı

Şekil 85: Ohm kanunu simulatörü sahne tasarımı

Şekil 86: Değişkenlerin gösterimi

Şekil 86: Değişkenlerin gösterimi

Bir değişkenin sahne üzerinde gösterimi için birden fazla kod bloğu kullanılabilir. Bunlar sadece değerin gösterimi, kaydırma çubuğu ile gösterimi veya değişken ismi ve değerinin gösterimidir. İlk gösterim şeklinde değişkenin sadece değeri gösterilirken, değişkenin ismi gösterilmemektedir. İkinci gösterim şekli olan kaydırma çubuğunda değeşkenin değeri kullanıcı tarafından fare yardımı ile değiştirilebilmektedir. Aynı zamanda değişken ismi gösterilmektedir. Üçüncü gösterimde ise değişkenin ismi ve değeri gösterilmektedir. Şekil 86’da değişkenlerin gösterimi bulunmaktadır.

Bu örnekte kaydırma çubuğu gösterim şekli kullanılmış olup, kullanıcı tarafından belirlen gerilim ve dirence göre devreden geçen akımın değişimi izlenebilmektedir. Pil ve kablolar tek kukla olarak çizilmiş olup, lamba kuklası ayrı bir çizimden oluşmaktadır.

Pil Kuklasının Komutları:

Pil kuklası içinde yer alan kod blokları Şekil 87’de gösterilmektedir. Kodda V ve R değişkenleri için başlangıç değerleri 0 ve 1 olarak atanmıştır. Ardından sürekli tekrarla bloğu içinde I(akım) değeri hesaplanmış ve “akımGuncelle” haberi salınmıştır. Pil kuklası için yazılan ikinci kod bloğu “herhangi bir sayının 0’a bölümü tanımsızdır” bölme kuralını dikkate almaktadır. Buna göre R (direnç) değerinin 1’den küçük olmaması sağlanmıştır.

Şekil 87: Pil kuklasının komutları

Şekil 87: Pil kuklasının komutları

Lamba Kuklası Kodları: Şekil 88’de lamba kuklasının kodları gösterilmektedir. “akımGuncelle” haberi geldiğinde lamba kuklasının renk etkisi, hesaplanan I (akım) değerine göre değiştirilmektedir.

Şekil 88: Lamba kuklası kodları

Şekil 88: Lamba kuklası kodları

V Kuklası Kodları:

Sahnenin alt kısmında bulunan V kuklası için yazılan kod blokları Şekil 89’da gösterilmektedir. Buna göre V değişkeninin değeri kaydırma çubuğu ile değiştirildiğinde V kuklasının büyüklüğü değişmektedir.

Şekil 89: V kuklasının komutları

Şekil 89: V kuklasının komutları

R Kuklasının Kodları:

Sahnenin alt kısmında bulunan R kuklasının komutları şekil 90’da gösterilmektedir. Buna göre her akımGuncelle haberi geldiğinde R kuklasının büyüklüğü R değeriyle orantılı olarak değiştirilmektedir.

Şekil 90: R kuklasının komutları

Şekil 90: R kuklasının komutları

I Kuklasının Komutları:

Sahnenin alt kısmında bulunan I kuklası için yazılan kod blokları Şekil’ 91’de gösterilmektedir. Buna göre “akımGuncelle” haberi geldiğinde I kuklasının büyüklüğü I değeriyle orantılı olarak değiştirilmektedir.

Şekil 91: I kuklasının komutları

Şekil 91: I kuklasının komutları

Pacman

Klasik bir kodlama örneği olarak Pacman adlı oyunun bir benzerini Scratch ile tasarlanmıştır. Oyun; sahnedeki “Pacman” karakterinin “kirazları” toplaması üzerine kuruludur. Görevini yerine getirirken Pacman karakteri sahnedeki “Kirpi” karakterlerinden kaçmalı, “labirent” ve “engel” kuklalarına çarpmamalıdır. Bu karakterlere çarpması durumunda, oyun başladığında 5 olarak belirlenen, “can” değeri 1 azalmaktadır. Karakterin kurallara uygun şekilde sahnedeki tüm kirazları 45 saniyelik bir süre içinde toplaması gerekmektedir. Şekil 92’de oyun için tasarlanan sahne ve kuklalar gösterilmektedir.

Şekil 92: Pacman oyunu sahne tasarımı

Şekil 92: Pacman oyunu sahne tasarımı

Pacman karakteri, görevini yerine getirebilmek için klavyedeki yön tuşları ile sahne hareket ettirilmektedir. “Engel” kuklası rastgele bir sıra ile ekranda sağa veya sola dönmektedir. “Kirpi1” kuklası sahneni üstünden başlayarak sağa sola hareket ederken, “Kirpi2” kuklası sahnenin ortasından başlayarak aşağı ve yukarı doğru hareket etmektedirler.

Pacman kuklasının komutları:

Şekil 93’de pacman kuklasının hareket edebilmesi için oluşturulan özel taşlar gösterilmektedir.

Şekil 93: Pacman kuklası için oluşturulan özel taşlar

Şekil 93: Pacman kuklası için oluşturulan özel taşlar

Şekil 93’de Pacman kuklasının hareket edebilmesi için oluşturulan özel taşlar gösterilmektedir. Şekil 93 incelediğimizde oluşturulan “yukarıgit”, “sağagit”, “aşağıgit”, “solagit” ve “başadön” özel taşları görülmektedir. Bu taşların görevleri sırasıyla şöyle belirlenmiştir. “yukarıgit” özel taşı kuklanın ekranın yukarısı yönüne döndürmek ve y eksenindeki yerini 5 arttırmak, “aşağıgit” özel taşı kuklanın aşağı yöne dönebilmesini ve kuklanın y eksenindeki yerini 5 adım azaltmak, “solagit” özel taşı kuklanın sadece sağa sola dönebilmesini sağlamak ve sonra kuklanın sol tarafa dönerek x eksenindeki yerini 5 adım arttırmak, “sağagit” özel taşı kuklanın sağa dönerek x eksenindeki yerini 5 arttırmak ve “BaşaDon” özel taşı Pacman kuklasının sahnedeki labirent, kirpi veya engel kuklalarından birine çarpması durumunda başlangıç noktasına dönmesini ve can değişkeninin 1 azaltılmasını sağlamaktır. Oluşturulan bu özel taşların kod blokları içinde nasıl kullanıldığı ise Şekil 94’de gösterilmektedir.

Şekil 94: Oluşturulan özel taşların kullanımı

Şekil 94: Oluşturulan özel taşların kullanımı

Şekil 94’de gösterilen kod bloklarını çalışabilmesi için yeşil bayrak tıklandığında, sürekli olarak klavyeden yukarı, aşağı, sağ ve sol ok tuşlarına basılıp basılmadığı sorgulanmaktadır. Yön tuşlarından herhangi birine basılması durumunda, kuklanın basılan yön tuşu yönünde hareket etmesi sağlanmaktadır.

Şekil 95: Pacman kuklasının diğer kuklalara çarpması durumunu ve süreölçer, puan can değişkenlerinin değerini sorgulayan komutları

Şekil 95: Pacman kuklasının diğer kuklalara çarpması durumunu ve süreölçer, puan can değişkenlerinin değerini sorgulayan komutları

Pacman kuklasının sahnedeki diğer kukalarla etkileşimi durumunda çalıştırılacak kod blokları ise Şekil 95’de gösterilmektedir. Kodlar incelendiğinde “labiren”, “engel”, “kirpi” ve “kirpi2” kuklalarına çarpması durumunda “başadön” özel taşı çalıştırılmakta ve Pacman kuklasının sahnenin başlangıç noktasına dönmesi sağlanmaktadır. Aynı zamanda “can” değişkeni bir azaltılmaktadır. “Süreölçer” değişkenin değeri kodlar çalışmaya başlatıldığında sıfırlanmakta ve oyunun devam ettiği her saniye değeri arttırılmaktadır. Bu değişken, arka planda çalışan bir sayaç gibi kullanılmaktadır. “Süreölçer” değişkeninin değeri 45’den büyük olması durumunda Pacman kuklası “süre bitti” ifadesi ile kullanıcıyı dönüt vermekte ve “hepsini durdur” komutu ile tüm kuklaları durdurmaktadır. Pacman kuklası sahnedeki her kiraza değdiğinde (topladığında) 10 puan almaktadır. Puan değeri 100 olduğunda ise Pacman kukla¬sı,”Oyun bitti, tebrikler” ifadesi ile kullanıcıya dönüt vermekte ve sahnedeki tüm kuklaları durdurmaktadır. “Can” değişkeni, Pac¬man kuklasının sahnedeki engellere çarpması durumunda 1 azaltılmakta ve oyun yeniden başlatılmaktadır. “can” değişkenin değeri 0 olması durumunda Pacman, kullanıcıları “Can bitti “ şeklinde dönüt vermekte ve ardından sahnedeki tüm kuklaları durdurmaktadır.

Engel Kuklasının komutları:

“Engel” kuklası için yazılan kod blokları Şekil 96’da gösterilmektedir. Bu kodlar ile “engel” kuklasının sağa-sola dönmesi sağlanmıştır. “10 ila 50 arasında rastgele bir sayı tut” komutu ile kuklanın kaç defa 15 derecelik açılar ile her 0.1 saniyede 1 defa döneceği belirtilmektedir. Ardından yine benzer şekilde 10-50 arasında bir değer kadar 15 derecelik açılar ile her 0.1 saniyede1 sola doğru dönmesi sağlanmıştır.

Şekil 96: Engel kuklası komutları

Şekil 96: Engel kuklası komutları

Kirpi Kuklasının Komutları: “Kirpi” kuklasını sahnenin sağ üst kısmından sahnenin sol üst kısmına kadar kılık değiştirerek hareket etmesini sağlayan kod blokları Şekil 97’de gösterilmektedir.

Şekil 97: Kirpi kuklasının komutları

Şekil 97: Kirpi kuklasının komutları

“Kirpi” kuklasının görevi sahnenin üst kısmında sağa ve sola hareket etmektir. Bu amaçla “kuklanın şekli sağa-sola dönebilsin” komutu ile kuklanın sağ ve sola dönebilmesi sağlanmıştır. Ardından sahnenin soluna doğru dönmesi ve 3 saniye x:-181 y: 148 noktasına süzülmesi sağlanmıştır. Kodun devamında ise sahnenin sağına dönmesi ve 2 saniyede x:180 y:148 noktasına süzülmesi sağlanmıştır. Kirpinin sahne üzerinde ağzını açıp-kapama hareketi ise sürekli tekrarla bloğu içinde 0.2 saniyelik gecikmeler ile sonraki kılığa geçmesi ile sağlanmıştır.

Kirpi2 Kuklasının Komutları: “Kirpi2” kuklasının komutları “Kirpi” kuklası ile benzerdir. Farklı olarak “Kirpi2” kuklası sahnenin orta bölümünde yukarıdan aşağı doğru hareket etmektedir. Bu hareket için “Kirpi2” kuklasının her yöne dönebilmesi gerekmektedir. “sürekli tekrarla” döngü bloğu içerisinde ilk önce yukarı yönüne dönmesi, ardından 1.5 saniyede x:25 y:80 noktasına gitmesi sağlanmıştır. Daha sonra “Kirpi2” kuklasının sahnenin aşağısına dönenmesi sağlanarak 2 saniyede x:25 y:-80 noktasına gidilmiştir. Şekil 98’de bu eylemler için yazılmış kod blokları gösterilmektedir.

Şekil 98: Kirpi2 kuklasının komutları

Şekil 98: Kirpi2 kuklasının komutları

Kiraz Kuklasının Komutları:

Sahnede 10 adet kiraz kuklası kullanılmıştır. Bu 10 adet kuklanın her birine ayrı ayrı kod yazmak yerine bir tanesine kod yazıp, kuklanın kopyasını çıkartmak sonuca daha hızlı ulaşmamızı sağlayacaktır..

word image 178 - Scratch İle Uygulamalar

Kiraz kuklasının görevi oyuncunun puan toplamasını sağlamaktır. Yukarıdaki koda göre puan toplamak için pacman kuklası, kiraza değdiğinde kiraz kuklasının gizlenmesi gerekmektedir. Kiraz kuklası gizlendiğinde puan değişkeni 10 artacaktır.

Uygulamada gizlenen kuklaları göstermek amacıyla yeşil bayrağı tıklatma komutu, görün komutundan önce kullanılmıştır.

Fareleri Yakala

Bu uygulama da sahnedeki kedi karakteri, rastgele hareket eden fareleri engellere çarpmadan yakalamaya çalışacaktır. Kedi, tüm fareleri yakalayıp eve ulaştığında oyun bir sonraki seviyeye geçmektedir. Böylece birden fazla seviyeye sahip bir oyun tasarlanmıştır. Sahne içindeki tuzaklar yağmur damlası ve “bombaAtar” kuklaları ile gösterilmiştir. Kedi eve ulaştığında ekranda aynı zamanda “1. Seviye sona erdi” şeklinde kullanıcıya dönüt verilmektedir. Şekil 100’de sahne tasarımı gösterilmektedir.

word image 102 - Scratch İle Uygulamalar

Şekil 100: Fare yakalama oyunu sahne tasarımı

Kedi kuklasının kodları:

Şekil 101’de Kedi kuklasının yön tuşları ile hareket etmesi için gerekli komutlar gösterilmektedir.

Şekilde de görüldüğü üzere yukarı ok tuşuna basıldığında kedi kuklasının Y eksenindeki yeri 10 değer artmakta, aşağı ok tuşuna basıldığında kedi kuklasının Y eksenindeki yeri 10 değer azalmakta, sol ok tuşuna basıldığında kedi kuklasının X eksenindeki yeri 10 değer azalmakta ve sağ ok tuşuna basıldığında ise kedi kuklasının X eksenindeki yeri 10 değer artmaktadır.

word image 103 - Scratch İle Uygulamalar word image 179 - Scratch İle Uygulamalar

Şekil 101: Kedi kuklası yön tuşları ile hareket ettirme komutları

Şekil103’de yazılan kod ile kedinin zıplaması ve arkasında bıraktığı kalem izinin S tuşuna basılarak temizlenmesini sağlanmaktadır. Kodu incelediğimizde can değişkeni 5 değerini alırken puan değişkini sıfır değerini almıştır. Kedinin başlangıç noktası olarak X:-225 Y:-138 seçilmiştir. Kalemi bastır komutu ile kedi hareket ettikçe kedinin arkasında bir ka¬lem izi bırakılacaktır. Boşluk tuşuna basıldığında ise kedinin zıplama hareketine benzer bir hareket etmesi sağlanacaktır.

word image 180 - Scratch İle Uygulamalar

Şekil 102: Zıplama hareketi

word image 181 - Scratch İle Uygulamalar

Şekil 103: Kedinin zıplama ve kalem izini temizleme komutları

Şekil 104 kedi kuklasının diğer kuklaları algılaması ile ilgili komutları göstermektedir. Buna göre kedi kuklası bomba kuklasına değdiğinde kedi kuklası başlangıç noktasına gider ve can değişkeninin değeri 1 azalır.

Damla1 veya damla2 kuklalarına değdiğinde ise kedi kuklası yine başlangıç noktasına gider ve puan değişkeninin değeri 5 azalır.

Kedi kuklası ev kuklasına değdiğinde ise oyuncuya 1. seviyeyi tamamladığına dair bilgilendirme yapılır ardından 1 saniye bekledikten sonra kalem izi temizlenir ve oyun durdurulur.

word image 182 - Scratch İle Uygulamalar

Şekil 104: Kedi kuklasının diğer kuklalara çarpması durumunu algılayan komutlar

Bulut1 kuklasının komutları:

Şekil 105’de Bulut1 kuklasının komutları gösterilmektedir. Komutları incelediğimizde Bulut1 kuklası 1 saniyede X:-146 Y:140 noktasına süzülmekte ardından X:13 Y:140 noktasına süzülmektedir. Yatay eksende sağa ve sola doğru hareket etmektedir.

Şekil 105: bulut1 kuklasının komutları

word image 183 - Scratch İle Uygulamalar

Bulut2 kuklasının komutları:

Bulut2 kuklası da bulut1 kuklası gibi sahnenin üst kısmında sağa ve sola doğru hareket etmektedir. Şekil 106’da Bulut2 kuklasının komutları gösterilmektedir.

Şekil 106: Bulut2 kuklasının komutları

word image 184 - Scratch İle Uygulamalar

Damla1 Kuklasının Komutları:

Şekil 107’de damla1 kuklasının komutları gösterilmektedir. Damla kuklalarının sahnenin sağında ve solunda rastgele konumlara düşmesi istenmektedir. Bulut kuklası hareket ettikçe bulut kuklasından aşağı doğru hareket edecektir. Damla sayısı örnekte görüldüğü üzere döngü ile 10 defa yukarıdan aşağı düşecek ve sonra gizlenecektir.

word image 104 - Scratch İle Uygulamalar word image 185 - Scratch İle Uygulamalar

Şekil 107: Damla1 kuklasının komutları

Bulut kuklası x ekseninde sağa ve sola hareket etmektedir. Damla1 kuklası da X eksenindeki değerini bulut2’nin X ekse¬nindeki değerinden alarak harekete başlamaktadır. Y eksenindeki konumu 131 noktasından -156 noktasına gelmektedir.

Damla2 Kuklasının Komutları:

Damla2 kuklası da damla1 kuklası gibi hareket etmektedir. Damla2 kuklası bulut1 kuklasının X eksenindeki değerini almaktadır. Damla2 kuklasının komutları şekil108’de gösterilmektedir.

Şekil 108: Damla2 kuklasının komutları

word image 186 - Scratch İle Uygulamalar word image 105 - Scratch İle Uygulamalar

Bomba Kuklasının Komutları:

word image 187 - Scratch İle Uygulamalar word image 188 - Scratch İle Uygulamalar

Şekil 109: Bomba kukla komutları

Şekil 109’da bomba kuklasının komutları gösterilmektedir. Bomba kuklası sahnenin sağ tarafında sabit noktaya gitmekte ve ardından sahnenin sol tarafındaki sabit bir noktaya 3 saniyede hareket etmektedir. Bu görevi 20 defa tekrarlayacaktır.

Fare Kuklasının Komutları:

Sahnede 3 adet fare kuklası bulunmaktadır. Bu kuklaların görevi sahnenin rastgele konumlarına hareket etmektir. Şekil 110’da Fare kuklasının komutları gösterilmektedir.

word image 189 - Scratch İle Uygulamalar

Şekil 110: Fare kuklasının komutları

Burada fare kuklasının uygulama başlarken görünmesi sağlanmıştır. Ardından sabit bir başlangıç noktasına gitmesi sağlanır. Daha sonra sürekli tekrarla bloğu içerisinde kedi kuklasına değip değmedi sorgulanmaktadır. Kedi kuklası nın değmesi durumunda, fare kuklası gizlenmekte ve puan değişkeninin değeri 10 arttırılmaktadır.

Şekil 111’de fare kuklasının sahne üzerinde rastgele hareket etmesi gösterilmektedir.

word image 190 - Scratch İle Uygulamalar

Şekil 111: Fare kuklasının sahne üzerinde rastgele hareket etmesi

Not: Fare2 ve Fare3 kuklalarının komutları da fare1 kuklası ile aynıdır. Sadece başlangıç noktaları farklı konumlar olarak belirlenmiştir.

Hesap Makinesi

Sahne tasarımı şekil 112’de gösterilen uygulama bir hesap makinesidir. Şekilde görülen 0-9 arasındaki rakamlar scratch kütüphanesinde bulunmaktadır ve oradan hazır alınmıştır. Toplama, çıkarma, çarpma ve bölme işlemleri için ayrı birer buton kullanılmış olup işlem sonucunu görmek için eşittir, mevcut işlem sonucunu ve ekranı sıfırlamak için C butonu kullanılmıştır.

word image 191 - Scratch İle Uygulamalar

Şekil 112: Hesap makinesi sahne tasarımı

sılarak hesap makinesinin ekranına istenilen sayı yazılır. Ardından yapılmak istenen işlem için buton (toplama, çıkarma, çarpma veya bölme) seçilir. Bu esnada ekran yeni sayı için temizlenir. Yeni sayı da yazıldıktan sonra eşittir butonuna basılarak sonuç ekranda görüntülenir. Ekran herhangi bir aşamada temizlemek istenirse C butonuna basılır.

Hesap makinesinin çalışması için sahnedeki tuşlara basılır.

Tuşunun Kodları:

Şekil 113’de 0 tuşunun komutları gös¬terilmektedir. Öncelikle 0 tuşu sahnede sabit bir noktaya taşınır. Ardından “tusBasmaSure” değişkeninin değeri 0.5 saniye yapılır. 0 tuşunun büyüklüğü%150 yapılır, ardından 0 tuşunun hazırlanan ikinci kılığa geçmesi sağlanır. Uygulamada rakamların görevi; ekranda görüntülenen sonuç değişkenine eklenmektir. Bunun için fare ile her butona basıldığında önce 0 tuşunun ilk kılığına geçiş yapılır ardından sonuç değişkeninin mevcut değeri değeri ile birleştirilir. “tusBasmaSure” değişkeninin değeri kadar bir süre beklenir. Bu bekleme süresinin amacı tuşuna fare ile her tıkladığımızda sadece 1 kere basılan 0 tuşun sonuç değişkenine eklenmesidir. Daha sonra başlangıç kılığına geçiş yapılır.

Şekil 113: 0 tuşunun komutları

Sırası ile 1-2-3-4-5-6-7-8 ve 9 nolu tuşların da komutları aşağıda belirtilmiştir.

Şekil 116: 3 nolu tuşun komutları

Şekil 117: 4 nolu tuşun komutları

word image 192 - Scratch İle Uygulamalar word image 193 - Scratch İle Uygulamalar word image 194 - Scratch İle Uygulamalar word image 195 - Scratch İle Uygulamalar

Rakamların Kodları:

Şekil 115: 2 nolu tuşun komutları

Şekil 114: 1 nolu tuşun komutları

Şekil 118: 5 nolu tuşun komutları

word image 196 - Scratch İle Uygulamalar word image 197 - Scratch İle Uygulamalar

Şekil 119: 6 nolu tuşun komutları

Şekil 120: 7 nolu tuşun komutları

Şekil 123’

de artı tuşunun komutları gösterilmiştir. Dört işlem yapılmak istendiğinde “işlem” adında bir değişkene seçilen işlemin karakteri atanır. + tuşuna basıldığında

işlem değişkeninin değeri + olacaktır. Ardından mevcut sonuç değişkeni, değer değişkenine aktarılacaktır. Daha sonra sonuç değişkeni temizlenir. Rakam tuşlarında olduğu gibi dört işlem tuşlarında da her tuşa basıldığında tuş için hazırlanmış diğer kılığa geçiş yapılırbasıldığındSure” kadar beklenerek birden fazla aynı işlemin gerçekleşmesi engellenir.

Şekil 123: artı tuşunun komutları

Şekil124’de eksi tuşunun komutları gösterilmiştir.

word image 198 - Scratch İle Uygulamalar word image 199 - Scratch İle Uygulamalar word image 200 - Scratch İle Uygulamalar

Şekil 121: 8 nolu tuşun komutları

Şekil 122: 9 nolu tuşun komutları

Şekil 124: eksi tuşunun komutları

Şekil 125’de bölü tuşunun komutları gösterilmektedir.

Şekil 125: bölü tuşunun komutları

word image 201 - Scratch İle Uygulamalar word image 202 - Scratch İle Uygulamalar word image 203 - Scratch İle Uygulamalar word image 204 - Scratch İle Uygulamalar

Şekil 126’da çarpı tuşunun komutları gösterilmektedir.

Şekil 126: çarpı tuşunun komutları

Şekil 128’de C tuşunun komutları gösterilmektedir.

Şekil 128: C tuşunun komutları

word image 205 - Scratch İle Uygulamalar word image 206 - Scratch İle Uygulamalar

Eşittir tuşunun komutları şekil 127’de gösterilmiştir. Eşittir tuşunun görevi işlem değişkeninin değerine bakarak kullanıcının yapmak istediği işlemi yerine getirmektir. Eşittir tuşunun komutlarını incelediğimizde eğer şart ifadesi ile islem değişkeninin değeri kontrol edilmektedir. İşlem değişkenin değeri + ise değer ve sonuç değişkeni¬nin değeri toplanır. İşlem değişkeninin değeri – ise değer değişkeninin değerinden sonuç değişkeninin değeri çıkarılır. İşlem değişkeninin değeri / ise değer değişkeninin değeri sonuç değişkeninin değerine bölünür. İşlem değiş¬keninin değeri x ise değer değişkenin değeri ile sonuç değişkeninin değeri çarpılır. Her halükarda yapılan

işlemin sonucu sonuç değişkeninde gösterilir.

Şekil 127: Eşittir tuşunun komutları

word image 106 - Scratch İle Uygulamalar