🐱 Scratch ve Blok Kodlama 📅 16 Ekim 2026

Scratch ile Labirent Oyunu Nasıl Yapılır?

Scratch ile labirent oyunu nasıl yapılır? Labirent çizimi, duvar çarpışma kontrolleri, can ve seviye (level) geçişi tam blok kod rehberi.

Scratch ile Labirent Oyunu Nasıl Yapılır?

Scratch öğrenirken algoritma mantığını ve koordinat sistemini pekiştiren en klasik, en öğretici ve oynaması en keyifli projelerden biri **"Labirentten Kaçış Oyunu"**dur. Bu oyunda oyuncu; dar koridorlardan geçerken duvarlara çarpmamalı, labirentin içine gizlenmiş anahtarları ve ödülleri toplamalı ve çıkış kapısına ulaşarak bir sonraki seviyeye (Level 2) geçmelidir.

Bu kapsamlı rehberde; Scratch'in dahili çizim aracıyla labirent haritası çizmeyi, duvarlardan geçmeyi engelleyen kusursuz fizik kodunu, can kaybetme sistemini ve çok bölümlü seviye geçiş mekanizmasını adım adım inceliyoruz.

---

1. Oyunun Mekanikleri ve Algoritma Akışı

Oyunumuz şu kurallara dayanır:

  • **Karakter Hareketi:** Oyuncu klavyenin 4 yön ok tuşuyla (Yukarı, Aşağı, Sağ, Sol) sevimli bir karakteri yönlendirir.
  • **Duvar Algılama (Katı Duvar Kuralı):** Karakter labirentin duvarlarına (örneğin siyah renge) çarptığında duvarın içinden geçemez; geri seker veya başa döner.
  • **Ödül Toplama:** Labirentin köşesindeki altın anahtara değdiğinde kilitli kapı açılır.
  • **Bölüm Atlama:** Çıkış kapısına ulaşıldığında sahne dekoru değişir ve daha karmaşık olan "Level 2" labirenti yüklenir.
  • ---

    2. Labirent Haritasını Çizme (Dekor Tasarımı)

    1. Sağ alttaki **Dekorlar** bölümüne gelin ve fırça simgesine tıklayarak çizim ekranını açın.

    2. Çizim modunu **"Vektör"** moduna alın.

    3. Çizgi kalınlığını **15 piksel**, rengini ise **tam Siyah** yapın.

    4. Düz çizgiler çizerek sahnenin kenarlarını kapatın ve içeride oyuncunun geçebileceği genişlikte koridorlar oluşturun. Sol üst köşeyi "Başlangıç Noktası", sağ alt köşeyi ise "Çıkış Noktası" olarak açık bırakın.

    ---

    3. Oyuncu Karakterinin Kodlanması

    Kütüphaneden küçük bir karakter seçin (örneğin "Pico" veya "Dot") ve boyutunu koridorlara rahatça sığabilmesi için **40** olarak ayarlayın.

    Duvarlardan Geçmeyi Engelleyen Kusursuz Kod Blokları:

    Yeni başlayanların en çok zorlandığı nokta karakterin duvarın içinden geçip gitmesidir. Bunun önüne geçmek için "hareket et ve eğer duvara değdiysen anında ters yöne bir adım geri at" mantığı kullanılır:

    [yeşil bayrağa tıklandığında]
    [x: -210 y: 140 konumuna git] // Başlangıç noktası
    [sürekli tekrarla]
        (eğer <[yukarı ok v] tuşuna basıldı mı?> ise)
            [y konumunu (4) değiştir]
            (eğer <[siyah v] rengine değiyor mu?> ise)
                [y konumunu (-4) değiştir] // Duvara çarptı, geri it!
    
        (eğer <[aşağı ok v] tuşuna basıldı mı?> ise)
            [y konumunu (-4) değiştir]
            (eğer <[siyah v] rengine değiyor mu?> ise)
                [y konumunu (4) değiştir]
    
        (eğer <[sağ ok v] tuşuna basıldı mı?> ise)
            [x konumunu (4) değiştir]
            (eğer <[siyah v] rengine değiyor mu?> ise)
                [x konumunu (-4) değiştir]
    
        (eğer <[sol ok v] tuşuna basıldı mı?> ise)
            [x konumunu (-4) değiştir]
            (eğer <[siyah v] rengine değiyor mu?> ise)
                [x konumunu (4) değiştir]

    Bu dahiyane fizik kuralı sayesinde karakter duvara çarptığı milisaniyede zıt yöne itilir; insan gözü bu geri itilmeyi fark edemez ve karakter duvara toslamış gibi katı bir şekilde durur!

    ---

    4. Çıkış Kapısı ve Seviye (Level) Geçişi

    1. Çıkış noktasına kırmızı renkli küçük bir bayrak veya kapı kuklası koyun.

    2. Karakter kodunun içine şu kontrolü ekleyin:

    (eğer <[Kapi v]'ya değiyor mu?> ise)
        [Tada v sesini çal]
        [sonraki dekor v]'a geç
        [x: -210 y: 140 konumuna git] // Karakteri 2. bölümün başına ışınla

    ---

    5. Labirente Düşman Canavar Eklemek

    Oyunu daha heyecanlı hale getirmek için koridorlarda devriye gezen bir düşman ekleyebilirsiniz:

  • Küçük bir yarasa veya hayalet kuklası ekleyin.
  • Koduna: `[sürekli tekrarla] -> [1 saniyede x: -100 y: 50 konumuna git] -> [1 saniyede x: 100 y: 50 konumuna git]` bloklarıyla sağa sola sürekli devriye attırın.
  • Oyuncu karakteri bu düşmana değerse canı 1 azalsın ve başlangıç noktasına geri dönsün!
  • ---

    6. Kapsamlı Sıkça Sorulan Sorular (SSS)

    Renk algılama bazen çalışmıyor ve karakter duvardan geçiyor, neden?

    Renk damlalığı aracını kullanırken tam duvarın üzerindeki pikseli seçtiğinizden emin olun. Siyahın tonu (parlaklık değeri) 0 olmalıdır. En ufak bir ton farkı kodun rengi tanıyamamasına yol açar.

    Karakter koridorlara sığmıyor ve sıkışıp kalıyor, ne yapmalıyım?

    Kuklanın boyutunu "Büyüklük" kutucuğundan 30 veya 40'a düşürün. Ayrıca labirent çizgilerini çizerken koridorların kuklanın geçebileceği genişlikte olmasına özen gösterin.

    ---

    ---

    7. Sis Perdesi (Fog of War) ve Karanlık Zindan Modu

    Labirent oyununu efsanevi bir gerilim ve keşif oyununa dönüştürmek için:

  • Tamamen siyah renkte, ortasında karakterin etrafını aydınlatan dairesel şeffaf bir delik bulunan dev bir "Işık Halesi / Meşale" kuklası çizin.
  • Bu kuklaya `[sürekli tekrarla] -> [Pico v konumuna git]` kodunu yazın.
  • Artık tüm labirent karanlığa bürünecek; oyuncu sadece elindeki meşalenin aydınlattığı 5 santimetrelik dar alanı görerek labirentte yolunu bulmaya çalışacaktır! Bu efekt oyunun heyecanını onlarca kat artırır.
  • ---

    8. Zaman Karşı Yarış (Geri Sayım Sayacı)

    Labirentten kaçışı daha rekabetçi kılmak için:

  • `Sure` adında bir değişken oluşturun ve başlangıçta 30 saniye verin.
  • Bir döngü kurun: `[1 saniye bekle] -> [Sure değişkenini -1 değiştir]`.
  • Süre 0 olduğunda ve oyuncu henüz çıkışa ulaşamamışsa `tümünü durdur` diyerek "Zaman Tükendi!" ekranını tetikleyin.
  • ---

    ---

    8. Labirentte Hareketli Düşmanlar ve Devriye Algoritması

    Labirenti sıradan bir bulmaca olmaktan çıkarıp nefes kesen bir arcade oyununa dönüştürmek için duvarlar arasında devriye gezen yapay düşman kuklaları ekleyebilirsiniz:

  • **Düşman Kuklası ve Devriye Rotası:** Yeni bir hayalet veya yarasa kuklası çizin. Kodlarında iki nokta arasında sürekli gidip gelmesi için `1 saniyede x: 50 y: 0 konumuna git`, ardından `1 saniyede x: -50 y: 0 konumuna git` döngüsü kurun.
  • **Düşmanla Çarpışma Testi:** Oyuncu kuklasının içine `Eğer <Hayalet kuklasına değiyor mu?> ise` şartını ekleyin. Düşmana temas edildiğinde canı 1 azaltın veya oyuncuyu anında labirentin en başındaki `x: -210, y: 150` başlangıç koordinatına geri ışınlayın.
  • ---

    9. Zamanlayıcı (Geri Sayım) ve Işınlanma Portalları

    Oyuna ekleyebileceğiniz ileri düzey mekanikler:

  • **Geri Sayım Sayacı:** Bir `Süre` değişkeni tanımlayın ve oyun başında 60'a eşitleyin. Her 1 saniyede bir `Süre` değerini -1 değiştirin. Eğer süre 0 olursa labirent kapıları kilitlensin ve oyun kaybedilsin!
  • **Gizli Geçitler ve Portallar:** Labirentin iki uzak köşesine mavi ve turuncu portallar çizin. Oyuncu mavi portala girdiğinde anında turuncu portalın `(x, y)` koordinatına taşınsın. Bu tür yaratıcı mekanikler çocukların koordinat düzlemini kavramasını pekiştirir.
  • ---

    ---

    10. Labirent Oyununu Geliştirmek İçin 5 Altın İpucu

    1. **Ses Efektleri Ekleyin:** Duvara çarptığında tok bir "bip" sesi, peynire ulaştığında ise coşkulu bir zafer melodisi çalmak oyunun sürükleyiciliğini katbekat artırır.

    2. **Karakter Boyutunu Doğru Ayarlayın:** Karakterinizin labirent koridorlarına sıkışmaması için kostüm merkez noktasının tam ortada olduğundan ve büyüklüğün %40-50 seviyesinde tutulduğundan emin olun.

    3. **Zorluk Seviyeleri (Hard Mode):** Labirente hareketli lazer ışınları ekleyerek oyuncuların reflekslerini sınayan çok aşamalı seviyeler inşa edebilirsiniz.

    ---

    Sonuç

    Scratch ile labirent oyunu yapmak; renk algılama, koordinat düzlemi ve katı cisim fiziği kavramlarını öğrenmenin en eğlenceli yoludur. Kendi oluşturduğunuz labirentleri daha da zorlaştırarak arkadaşlarınıza meydan okuyabilirsiniz. Diğer oyun yapım dersleri için sitemizin [Dersler](/dersler) kategorisini inceleyin!