2 Ağustos 2018 Perşembe

Scratch'da Piyano Yaptık



Öncelikle sahnemizi ayarlıyoruz.


Tasarımımızın devamı;



Piyano tuşlarını tasarlıyoruz. Tuşlara basılı halini diğer bir kılık olarak yeşil olarak kombinliyoruz.


Tuşlarımızın basılı hali;

Tuşlarımızın karşılığı klavyeden q,w,e,r,t,y,u ve o tuşuna denk gelmektedir.Yani;
C tuşu için=q
D tuşu için=w
E tuşu için=e
F tuşu için=r
G tuşu için=t
A tuşu için=y
B tuşu için=u
C tuşu için=o



Kodlarımızı şu şekilde yazıyoruz.






q tuşuna basıldığında oluşturmuş olduğumuz "chaberisal" haberini sal bloğumuzu çalışır hale getirmiş oluyoruz.


"chaberisal" bloğunda ise q tuşuna basıldığında,tuşumuzun ikinci kılığına geçmesini sağlıyoruz. 
Daha sonrasında 1 numaraları çalgıyı 60 notasıyla 0.5 sürede çalar ve tuşumuz eski haline geri döner.
Bütün tuşlar için aynı işlemi uyguluyoruz.Fakat farklı tuşlar atamasını yapabilmek için farklı farklı haber kaynakları oluşturmayı unutmuyoruz.









1 Ağustos 2018 Çarşamba

SCRATCH!


                                 
     Scratch Nedir?
        Scratch, ABD’de bulunan MIT’nin geliştirdiği, 8-16 yaş arası çocukların kullanımına göre tasarlanmış oldukça basit bir arayüze sahip programlama ortamıdır.
Geleneksel programlama dillerinin aksine kullanıcı, istediği fonksiyonları fare ile tıklayıp sürükleyerek animasyonlar, oyunlar, ve hikayeler yaratabilirsiniz.

Scratch, renkli bir arayüze sahiptir.
Programlama dillerinin aksine, hazır fonksiyonlar kategorilere ayrılarak kolay bir biçimde kullanıma sunulmuştur.



Scratch Ekranını Tanıyalım




1. Dil ayarla: Bu ikonu kullanarak kullandığımız blok dilini değiştirebilir farklı dillerde kullanabiliriz.
2. Kopyasını Çıkar: Var olan karakterimizi çoğaltabiliriz.
3. Sil: İstediğimiz bir karakteri silebiliriz.
4. Büyüt: Bu simgeyi seçerek karakterimizin üzerine tıkladığımızda karakterimizi istediğimiz kadar büyültebiliriz.
5. Ufalt: Bu simgeyi seçerek karakterimizin üzerine tıkladığımızda karakterimizi istediğimiz kadar küçültebiliriz
6. Yardım: Scratch ve komut blokları hakkında yardım sağlar.


Dosya Menüsü

New: Yeni dosya oluşturmak için
Open: Var olan dosyayı açmak için
Save: Dosyayı kaydetmek için
Save As: Farklı kaydetmek için
Record Project Video: Projeye video eklemek için
Share to websiteWeb sitede paylaşmak için
Check for update: Güncellemeleri  kontrol etmek için
Quit: Çıkış yapmak için




Düzenleme Menüsü


Undelete: Silinen komut bloklarını geri alır.
Small stage layoutKodlama esnasında sahnenin
küçük ya da büyük olmasını sağlar.
Turbo mode: Projeyi hızlı çalıştırmak için

     Sahne


  Sahne ve Dekor Ayarları

1. Dekoru Kütüphaneden Seç: Kütüphaneden dekor eklemek için kullanılır.
2. Yeni Dekor Çiz: Bir çizim arayüzü sayesinde dekoru siz çizersiniz.
3. Dekoru Bilgisayarımdan Seç: Bilgisayarınızda kayıtlı bir resmi dekor olarak eklemek için kullanılır.
4. Kameradan Yeni Dekor Oluştur: Bilgisayara bağlı kamera yardımıyla çekilen fotoğrafı dekor olarak ekler.



 Kuklalar(Karakterler)

1. Kuklayı Kütüphaneden Seç: Kütüphaneden yeni kukla eklemek için kullanılır.
2. Yeni Kukla Çiz: Bir çizim arayüzü sayesinde yeni kuklayı siz çizersiniz.
3. Kuklayı Bilgisayarımdan Seç: Bilgisayarınızda kayıtlı bir resmi yeni kukla olarak eklemek için kullanılır.
4. Kameradan Yeni Kukla Oluştur: Bilgisayara bağlı kamera yardımıyla çekilen fotoğrafı yeni kukla olarak ekler.


  
Kukla Bilgisi

1. Kukla adı: Kuklanın adını değiştirmek için kullanılır.
2. Konum ve Yön bilgisi: Kuklanın koordinatlarını(konum) ve yönünü belirtir bu bölümden kukla yönü değiştirilebilir.
3. Dönme Özellikleri: Karakterin nasıl döneceğini belirlediğimiz bölümdür. Bunlar;









4.Görün: Proje çalıştırıldığında kuklanın ekranda görünüp görünmeyeceğini ayarlar.
5. Oyunda Sürüklenebilir: Proje çalıştırıldıktan sonra kuklanın fare ile tutularak sürüklenip sürüklenemeyeceğini ayarlar.



Kılıklar(Kostümler)





Karakterimizin başka görünümlerinin olmasını istiyorsak kütüphaneden ekleyebilir, kendimiz çizebilir, bilgisayarımızda kayıtlı bir resmi içe aktarabiliriz ya da kamera ile çekebiliriz. Var olan kostümleri kostümün sağ üst köşesindeki ‘x’ butonuna basarak silebiliriz, seçili kostümü sağdaki düzenleme alanında düzenleyebiliriz. Kostüm üzerinde sağ tık yaparak kopyalayabilir ve silebiliriz






Blok Paketi(Diziler)




Blok Paletinde karakterleri programlayabilmek için kullanılan bloklar vardır. 10 ana kategoride toplanmış blok grubu bulunmaktadır.



 Hareket
                                     1. Karakteri öne ya da arkaya doğru hareket ettirir.
2. Karakterin istenilen derece kadar saat yönünde dönmesini sağlar.
3. Karakterin istenilen derece kadar saat yönü tersine dönmesini sağlar.
4. Karakterin hangi yöne döneceğini belirler. (0=yukarı, 90=sağ,180=aşağı, -90=sol)
5. Karakteri ‘mause işaretçisi’ veya başka karakterler varsa istenilen ‘karakter’ e doğru döndürülür.
6. Karakteri istenilen x ve y konumuna getirir.
7. Karakter ‘mause işaretçisi’ veya başka karakterler varsa istenilen ‘karakter’ ile aynı konuma gönderilir.

     8. Karakter belli bir süre içerisinde belirlenen x ve y konumuna hareket eder.
9. Karakterin bulunduğu konumun x değeri istenilen değer kadar arttırılır veya azaltılır.
10. Karakterin x konumunu istenilen değere çeker.
11. Karakterin bulunduğu konumun y değeri istenilen değer kadar arttırılır veya azaltılır.
12. Karakterin y konumunu istenilen değere çeker.
13. Karakter ekranın kenarına değdiği an karakteri ters yöne döndürür.
14. Karakterin sağa-sola dönme, etrafında dönebilme ve hiç dönememe ayarlarını yapar
15. Karakterin x pozisyonu bilgisini verir. Bu seçenek işaretlendiğinde x değerini ekranda görebiliriz.
16. Karakterin y pozisyonu bilgisini verir. Bu seçenek işaretlendiğinde y değerini ekranda görebiliriz.
17. Karakterin yön bilgisini verir. Bu seçenek işaretlendiğinde yön bilgisini ekranda görebiliriz.


       Görünüm
1. Karakter istenilen süre boyunca ‘Hello!’ yazan kutudaki değeri ekranda konuşma balonu içerisinde gösterir.
2. Karakter ‘Merhaba’ yazan kutudaki değeri ekranda balon içerisinde gösterir. Kutu içerisi boş bırakılırsa konuşma balonu oluşmaz.
3. Karakter istenilen süre boyunca ‘Hmm…’ yazan kutudaki değeri ekranda düşünme balonu içerisinde gösterir.
4. Karakter ‘Hmm…’ yazan kutudaki değeri ekranda balon içerisinde gösterir.
5. Karakteri ekranda görünür hale getirir.
6. Karakteri Ekranda görünmez yapar.
7. Karakteri istenilen kostüme geçmesini sağlar.
8. Karakterin o anki kostümünden bir sonraki kostümüne geçmesini sağlar.
9. Mevcut sahne dekorunu istenilen dekorla değiştirir.
    10. Karakterin rengi, balıkgözü, Hızlı dön, Piksellere böl, mozaik, parlaklık, hayalet efekti sayı yazan yerdeki değer kadar değişir.
11. Karakterin rengi, balıkgözü, Hızlı dön, Piksellere böl, mozaik, parlaklık, hayalet efekti sayı yazan yerdeki değer olur.
12. Karakter üzerinde uygulanmış bütün efektleri geri alır.
13. Karakterin boyunu istenilen değer kadar değiştirir.
14. Karakterin boyu istenilen %’ ye getirilir.
15. Karakterin diğer bir üst katmana çıkmasını sağlar. Böylece karakter diğer karakterlerin önünde görünebilir.
16. Karakterin istenilen katman değeri kadar geri gitmesini sağlar. Böylece karakter diğer karakterlerin arkasında gizlenebilir.
17. Karakterin o anki kostüm bilgisini verir. Yan tarafındaki kutu işaretlendiğinde ekranda kostüm bilgisi görülür.
18. Sahnede o anda gösterilen dekorun adını verir.
19. Karakterin ebat değerini % olarak verir. Yan tarafındaki kutu işaretlendiğinde ebat değeri ekranda görünür.



      Ses
1. Seçili olan müzik çalmaya başlar. Program müziğin bitmesini beklemeden diğer blokları çalıştırmaya devam eder.
2. Seçili olan müzik çalmaya başlar ve bitene kadar diğer bloğa geçilmez.
3. Çalmaya devam eden müzikler bu blok çalıştığında durur.
4. 48 (davul) sesini istenilen istenen sürede bir çalar. (18 sesinin bulunduğu yer açılır menüdür ve ses buradan değiştirilebilir.)
5. İstenilen vuruşun bitmesini bekler.
6. İstenilen notayı istenilen sürede bir çalar.
     7. Enstrümanı(çalgıyı) değiştirmeyi sağlar.
8. Sesi azaltır ya da arttırır.
9. Ses yüksekliğini belli bir % ye getirir.
10. O anki ses seviyesi bilgisini verir. Yan taraftaki kutu işaretlendiğinde ekranda ses bilgisi % olarak görünür.
11. Tempo değeri istenilen değere göre değiştirir.
12. Tempo değeri saniyede istenilen vuruş değeri yapılır.
13. O anki tempo değeri bilgisini verir. Yan taraftaki kutu işaretlendiğinde ekranda tempo değeri görünür.


       Kalem

                    1.Ekrana kalem ile çizilenlerin hepsini siler.
        2. Karakterin o anki konumunda ekrana kendi imajını (görüntüsünü) yapıştırır.
3. Karakterin hareket ettiği doğrultuda kalem ile ekranı çizer.
4. Karakterin hareket ettiği yerler çizilmez.
5. Kalem rengi istenilen renk değerine geçer.
6. Kalem rengi bu blok çalıştığında istenilen değer kadar değişir.
7. Kalem renginin istenilen değer olması sağlanır.
8. Kalem tonu istenilen değer kadar değiştirilir. (kalem tonu 0’ dan 100’ e doğru açılır, 100’ den 200’e doğru koyulaşır.)
9. Kalem tonu istenen değer olur.
10. Kalem kalınlığı istenen değer kadar değişir.


    Olaylar  
   
    1. Proje içerisinde yeşil bayrağa tıkladığında bu blok altında sıralanmış kod kümesini çalıştırır.
    2. Seçilmiş olan tuşa (burada boşluk tuşu seçilmiş) basıldığında bu blok altında sıralanmış kod kümesini çalıştırır.
3. Karaktere tıklandığında bu blok altında sıralanmış kod kümesini çalıştırır.
4. Sahne dekoru burada seçilen dekor olunca bu blok altında sıralanmış kod kümesini çalıştırır.
5. Ses şiddeti belirtilen rakamdan yüksek olunca bu blok altında sıralanmış kod kümesini çalıştırır.
     6. Yapılan duyurunun ardından bu blok altındaki kod kümesi çalışır.
7. Bu blok ile yeni haber yazarak komut kümelerini çalıştırmak için yeni bir blok oluşturmuş oluruz. Bu blok çalıştığında yapılan duyurunun ardından bloktaki diğer komutlar çalışmaya devam ederken bu duyuruya ait kod kümesi de çalışmaya başlar.
8. Yapılan duyurunun ardından bu bloğun altında kod kümesi var ise bu duyuruya ait kod kümesinin çalışmadan bekler, bitiminden sonra kendi çalışmasına devam eder.





Kontrol


    1. Projeyi istenilen süre kadar bekletir, süre            tamamlanınca sıradaki bloktan çalışmaya devam eder.
    2. Bu blok içerisinde bulunan bloklar sırasıyla 
    istenilen değer kadar tekrar tekrar çalıştırılır.
3. Bu blok içerisinde bulunan bloklar sırasıyla program durdurulana kadar tekrar tekrar çalıştırılır (sonsuz döngü).
4. Eğer’ den sonra gelen koşul doğru ise program bu blok içerisine girer ve bu blokları çalıştırır, ardından bu blok içerisinden çıkarak sonraki bloktan çalışmaya devam eder.
    5. Eğer koşul doğru ise hemen altında yer alan kod blokları icra edilir ve bu kod bloğundan çıkılarak program icraya devam eder. Eğer koşul yanlış ise ‘öyle değil ise’ kısmında yer alan bloklar icra edilir, icradan sonra bu bloktan çıkılarak program akışı kaldığı yerden devam eder.
    6. Koşul doğru olana kadar beklenir, koşul doğru olunca aşağıdaki bloklar çalışmaya başlar.
    7. Koşul doğru olunca blok içerisine girilerek kodlar icra edilir. Koşulun her döngüde doğru olması halinde icra devam eder. Koşul doğrulanmadığı halde altındaki kodlar çalıştırılır.
    8. ‘Hepsini’, ‘bu diziyi’, ’ kuklanın kendi dizilerini’ seçenekleri ile istenen kod dizilerini (bloklarının) çalışması durdurulur.
    9. Bir kuklanın ikizi program akışı esnasında komutla oluşturulduğunda bu blok altındaki komutlar çalışır.
    10. Program akışı esnasında kendinin yada seçilecek başka bir kuklanın ikizi oluşturulur.
    11. Oluşturulan kukla ikizin silinmesini sağlar.



Algılama

     1. Karakterimizin karaktere / Mause işaretçisine/ kenara değip değmediği kontrolünü yapar. (seçim için açılır menüye tıklayın.)
2. Karakterin seçilen renge değip değmediği kontrolünü yapar. (Rengi değiştirmek için renk üzerine tıklayıp ekrandan renk seçin.)
3. Karakterin üzerindeki seçtiğiniz rengin seçtiğiniz bir başka renge değip değmediği kontrolünü yapar.
4. Karakterin açılır menüden seçtiğimiz başka bir karakter ya da mause işaretçisiyle arasında olan mesafe bilgisini verir.
5. Diye Sor ve bekle komutu ardından verdiğin yanıt bu ‘yanıt’ bloğunda tutulur.
6. Blok yanındaki kutuya tıkladığında vermiş olduğun yanıt proje ekranında görünür.
7. Seçili olan tuşa basılı olma durumunu kontrol eder.
8. ‘Fare basılı’ mı kontrolü yapar.
9. Farenin x koordinatını verir.
10. Farenin y koordinatını verir.

           
11. Ses yüksekliği bilgisini barındırır.
    12. Web kamerasındaki görüntünün hareket oranını ve yönünü tespit eder.
    13. Web kamerasının görüntüsünü alarak sahnede görünmesini sağlar.
    14. Web kamerasın görüntüsünü istenilen oranda saydamlaştırır.
    15. Saniye cinsinden geçen süre bilgisini tutar.    
    16. Süre ölçeri sıfırlar
    17. Seçili olan karakterin/sahnenin seçenekler dahilindeki (x koordinatı/ y koordinatı/ yön/ şu anda görünen kostüm/ ebat/ ses seviyesi) bilgisini kullanabilmemizi sağlar
    18. Bilgisayarın tarih ve saatine göre yapılan seçim doğrultusunda şimdiki yıl, ay, gün, haftanın kaçıncı günü olduğu(Pazardan başlayarak), saat, dakika ve saniye bilgilerini verir.
    19. 01.01.2000 tarih ve 00:00 saatten şu anki tarih ve saate kadar geçen gün sayısını verir.
    20. Scratch kullanıcı adınızı içerir. Çalışması için siteye kullanıcı adınız ve şifrenizle giriş yapmış olmanız gerekir.


                   İşlemler
          1. Boş kutulara yazılan iki değeri toplar.
2. İlk kutudaki değerden ikinci kutudaki değeri çıkarır.
3. İki değeri çarpar.
4. İlk kutudaki değeri ikinci kutudaki değere böler.
5. Belirtilen iki değer arasında rastgele bir sayı üretir.
6. İlk kutudaki değerin ikinci kutudaki değerden küçük durumu kontrolü yapılır.
7. İki değerin bir biri iler eşitliği durumu kontrolü yapılır.
8. İlk kutudaki değerin ikinci kutudaki değerden büyük durumu kontrolü yapılır.
9. Belirtilen iki koşulunda doğruluk kontrolünü yapar.
10. Belirtilen iki koşuldan en az birinin doğru olması durumunu arar.
                  11. Koşulda verilen durumun olmaması istendiği durumlarda bu blok kullanılır.
              12. İstenilen iki değeri metin olarak birleştirilir.
              13. İstenilen değerin hangi sırasındaki harfi isteniyor ise bu blok ile bu bilgi elde edilir.
              14. Değerin uzunluk bilgisini bu blok ile elde edilir.
              15. Bu blok ilk kutuya yazılan değerin ikinci kutuya yazılan değere göre modunu bulurken elde edilen kalanı verir.
              16. İstenilen değerin en yakın tam sayıya yuvarlanmasını sağlar.
              17. Matematiksel terimleri bulabileceğimiz (mutlak değer, karekök, sin, cos, tan, asin, acos, atan, ln, log, e^, 10^) bu blok ile kutuya yazılan değerin karşılığını bilebilir ve bu değeri sayısal işlemlerde kullanabiliriz.
          

               Veri
    
1. Bu komut ile yeni bir değişken oluştururuz.
2. Oluşturulan ‘Puan’ isimli değişken verisi. (Kutu işaretlendiğinde ekrande değişken değerinin ne olduğu görünür.)
3. Var olan değişkenlerden istenilen seçilerek istenilen değer yapılır.
4. Var olan değişkenlerden istenilen seçilerek istenilen değer kadar artırılabilir ya da azaltılabilir.
5. Var olan değişkenlerden istenilen değişkeni ekranda gösterir.
6. Var olan değişkenlerden istenilen değişkeni ekranda gizler.
7. Bu komut ile yeni bir liste oluştururuz.
8. Sınıf adlı liste bilgisini barındırır. Kutu işaretlendiğinde liste içeriği ekranda görünür.
9. İstenilen değeri seçili olan listeye ekler.
10. Listenin istenen sırasındaki kaydı, son sırasındaki kaydı ya da tüm kayıtları siler.
11. İstenen listenin ilk/son veya herhangi bir sıradaki kayıt bilgisini barındırır.
12. İstenen listenin toplam kayıt sayısını verir.
13. İstenen listeyi ekranda gösterir.
14. İstenen listeyi ekranda gizler.
15. İstenilen değerin seçilen listede olup olmadığını kontrol eder.
16. İstenen listenin ilk/son veya herhangi bir sırasına yeni bir nesne eklenir. (Eski bilgi silinmez, bu bilgi bir sonraki eleman olarak kaydırılır.)
17. İstenen listenin ilk/son veya herhangi bir sırasındaki elemanı yerine yeni nesnemiz eklenir.