BLOK TABANLI PROGRAMLAMA

Scratch Kodlama Uygulamaları ve Örnek Projeler

Scratch ile kodlamaya ilk adımı atın! Blok tabanlı kodlama mantığı, adım adım oyun geliştirme rehberi, algoritma kurma teknikleri ve zengin proje örnekleri.

Yazılım dünyasına girmek isteyen her yaştan öğrenci için Scratch, karmaşık söz dizimlerinden (syntax) arınmış mükemmel bir başlangıç noktasıdır. MIT Media Lab tarafından geliştirilen bu platform, renkli kod bloklarını yapboz parçaları gibi birleştirerek kendi interaktif oyunlarınızı, animasyonlarınızı ve simülasyonlarınızı tasarlamanıza imkan tanır.

Bu rehberde, Scratch arayüzünün temel çalışma mantığından başlayarak, adım adım algoritma kurmayı, değişkenlerle puan sistemi oluşturmayı ve kendi ilk Scratch projenizi nasıl hayata geçireceğinizi inceleyeceğiz.

1 Neden Scratch ile Başlamalısınız?

Geleneksel programlama dillerinde bir parantez hatası veya eksik noktalı virgül kodun çalışmasını engelleyebilir. Scratch ise öğrencinin dikkatini noktalama işaretlerine değil, problem çözme ve algoritma mantığına odaklamasını sağlar.

Görsel Algoritma Kod bloklarının yapısı sayesinde hangi komutun nerede kullanılabileceğini sezgisel olarak kavrarsınız.
Anında Geri Bildirim Yazdığınız kodların sahnedeki kukla üzerindeki etkisini yeşil bayrağa basar basmaz canlı olarak görürsünüz.
Mantıksal Düşünme Döngüler, şartlı durumlar (Eğer/İse) ve değişkenler gibi temel yazılım kavramlarını oyun oynayarak öğrenirsiniz.

2 Scratch Arayüzünü Tanıyalım

Scratch ekranı dört ana bölümden oluşur. Proje geliştirirken bu alanlar sürekli etkileşim halindedir:

  • Sahne (Stage): Projenizin canlı olarak çalıştığı, x ve y koordinat sistemine sahip görsel alandır.
  • Kuklalar (Sprites): Sahnenizde hareket eden, kodladığınız karakterler ve nesnelerdir.
  • Kod Blokları Paleti: Hareket, Görünüm, Ses, Olaylar, Kontrol, Algılama ve Değişkenler gibi renk kodlu blok kütüphanesidir.
  • Kodlama Alanı (Workspace): Seçili kuklaya ait kod bloklarını sürükleyip birleştirdiğiniz çalışma tuvalidir.

3 Scratch'te Temel Kodlama Kavramları

Gerçek bir yazılım dilinde bulunan neredeyse tüm yapılar Scratch içerisinde bloklar halinde mevcuttur:

  1. Olaylar (Events): Programın ne zaman başlayacağını belirler. Örneğin: "yeşil bayrağa tıklandığında" veya "boşluk tuşuna basılınca".
  2. Kontrol Blokları (Loops & Conditionals): Kodun sürekli mi çalışacağını yoksa bir şarta mı bağlı olacağını belirler. "sürekli tekrarla" ve "eğer ... ise" blokları en kritik yapılardır.
  3. Değişkenler (Variables): Skoru, kalan canı veya oyundaki zamanı hafızada tutmak için kullanılan veri kaplarıdır.

Kodlama İpucu: Mantıksal Dönüşüm

Scratch'teki bir blok dizisi metin tabanlı bir dilde tam olarak şu mantığa karşılık gelir:

Scratch: Boşluk tuşuna basıldıysa -> Y konumunu 10 artır

Python Karşılığı: if keyboard.is_pressed('space'): y += 10

4 Adım Adım Örnek Proje: Elma Yakalama Oyunu

Algoritma mantığını somutlaştırmak için klasik bir Elma Yakalama Oyunu tasarlayalım. Amacımız yukarıdan düşen elmayı aşağıdaki kase ile yakalayıp puan kazanmak.

Adım 1: Kase Hareket Algoritması

Kase kuklasını seçin ve klavye ok tuşları ile yatay eksende hareket etmesini sağlayın:

kase_kontrol.scratch
YEŞİL BAYRAK TIKLANDIĞINDA
SÜREKLİ TEKRARLA
    EĞER [Sağ Ok Tuşuna Basıldı mı?] İSE
        x konumunu 10 değiştir
    EĞER [Sol Ok Tuşuna Basıldı mı?] İSE
        x konumunu -10 değiştir

Adım 2: Düşen Elma ve Yer Çekimi Fiziği

Elma kuklası ekranın en üstünden rastgele bir x noktasından başlasın ve aşağı doğru süzülsün:

elma_fizik.scratch
YEŞİL BAYRAK TIKLANDIĞINDA
SÜREKLİ TEKRARLA
    y konumunu -7 değiştir
    EĞER [y konumu < -170] İSE
        x: (rastgele -200 ile 200 arası) y: 180 konumuna git

Adım 3: Temas Kontrolü ve Puan Sistemi

Elma kaseye değdiğinde puanı 1 artırıp tekrar üste ışınlayalım:

puan_sistemi.scratch
EĞER [Kase'ye değiyor mu?] İSE
    [Puan] değişkenini 1 artır
    Ses çal: "Pop"
    x: (rastgele -200 ile 200 arası) y: 180 konumuna git

5 Geliştirebileceğiniz Diğer Scratch Proje Fikirleri

Scratch bilginizi ilerlettikçe aşağıdaki popüler oyun ve uygulama türlerini rahatlıkla hayata geçirebilirsiniz:

  • Labirentten Kaçış Oyunu: Duvarlara değdiğinde başa dönen, anahtarları toplayıp kapıyı açan karakter simülasyonu.
  • Flappy Bird Klonu: Yer çekimi fiziği ve engel oluşturma algoritmaları içeren dinamik oyun.
  • İnteraktif Hikaye & Animasyon: Karakterlerin birbiriyle konuştuğu, sahne geçişli eğitici çizgi filmler.
  • Matematik Testi Oyunu: Rastgele sayılar üreten, kullanıcı cevabını sorgulayıp skoru hesaplayan eğitici yazılım.

Siz de Kendi Oyununuzu Kodlamaya Başlayın!

Online editörümüz ve tamamen ücretsiz ders materyallerimizle ilk Scratch veya blok tabanlı projenizi hemen tasarlayın.

Blok Kodlama Editörüne Git

Sıkça Sorulan Sorular

Scratch nedir ve kimler için uygundur?

Scratch, MIT Media Lab tarafından geliştirilen, sürükle-bırak bloklarıyla kodlama mantığını öğreten görsel bir programlama dilidir. İlkokuldan yetişkin seviyesine kadar kodlamaya sıfırdan başlayan herkes için uygundur.

Scratch öğrenmek metin tabanlı yazılıma yardımcı olur mu?

Kesinlikle. Scratch; döngüler, koşullu ifadeler (if-else), değişkenler ve fonksiyonlar gibi temel yazılım kavramlarını görselleştirerek Python, C# veya JavaScript gibi metin tabanlı dillere geçişi inanılmaz derecede kolaylaştırır.

Scratch kullanmak için program indirmek gerekli mi?

Hayır, gerekli değildir. Scratch'i tarayıcınız üzerinden scratch.mit.edu adresinden online olarak kullanabilirsiniz. Dilerseniz Scratch Desktop uygulamasını indirerek internetsiz ortamda da projelerinizi geliştirebilirsiniz.