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:
---
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:
---
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:
---
8. Zaman Karşı Yarış (Geri Sayım Sayacı)
Labirentten kaçışı daha rekabetçi kılmak için:
---
---
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:
---
9. Zamanlayıcı (Geri Sayım) ve Işınlanma Portalları
Oyuna ekleyebileceğiniz ileri düzey mekanikler:
---
---
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!