scratch labirent oyunu ve uygulaması

Scratch Labirent Oyunu ve Uygulaması

Bu yazımızda sizlere oldukça zevkle oynayacağınız bir scratch labirent oyunu için gerekli bilgileri vermeye çalışacağız. Oyunun mantığı 60 sn. içerisinde duvarlara çarpmadan, bitiş noktasına ulaşmak. Bunun için gerekli olan bir arka plan resmimiz bulunuyor. Bu resim dosyasını buradan indirebilir ya da kendiniz de bir grafik programında tasarlayabilirsiniz. Karar tamamen sizin. Haydi başlayalım.

Öncelikle sahnemize ilgili labirent resmimizi ekliyoruz. Sonrasında “Yeni karakter çiz” komutu ile Resim 1 ‘ deki gibi bir kare oluşturuyoruz. Yeşil ya da farklı bir renk de yapabilirsiniz.

Scratch Labirent Uygulaması
Resim 1 – Kare öğesini oluştur

Scratch Labirent Kod Blokları

Oluşturduğumuz yeşil kare öğesine çift tıklayarak kod yazmaya hazır mısınız? Oyuna ait tüm kodlarımız aşağıda gösterilmiştir. Resimli anlatımda her bir sekme için görsel oluşturmak uzun zaman alacağından dolayı açıklayıcı bir video eklemek istedim. Video’ dan da takip edebilirsiniz. Ancak burada bu kodlarımızın ne işe yaradıklarını anlatmadan yazımızı bitiremeyiz. Blokların kalabalığı gözünüzü korkutmasın. Aslında çok basit bir dizilim söz konusu.

Scratch Labirent Kod Blokları
Resim 2 – Scratch Labirent Kod Blokları

Başlangıç Konumu ve Geriye Sayma

Aşağıdaki kodu incelediğiniz de öncelikle mavi bloğun yeşil kare öğesinin program ilk çalıştığında hangi koordinatlarda konumlandırılması gerektiği ile ilgili olduğunu göreceksiniz. Sonrasında “süre” adında bir değişken oluşturduk ve kostüm1 adındaki yeşil kareyi seçip göster komutlarını ard arda uyguluyoruz. Çünkü bazı durumlarda yeşil kare kaybolabilir. Bunun önüne geçmek için kendimizi garantiye alalım. Ardından 60 kere sayan bir sayaç kullanıyoruz ve bu sayacın içerisine “süre” değişkeninin her defasında 1 kez azaltılması ile ilgili komutu ekliyoruz. Tabi ki her değişimde 1 sn. beklemeyi unutmadan. 60 saniye bittiğinde oyunumuz bize ek süre vermeyecek, tekrar başlangıç noktasına döndürecektir. Bunun için gerekli kodu yazıyoruz, ve ekrana da “Süren Doldu. Tekrar Başlıyorsun…” şeklinde bir mesaj yazdırıyoruz. Tabi saniyeyi tekrar 60 olarak ayarlamayı ve ekrandaki mesajı sildirmeyi de unutmadan.

Scratch Labirent Kod Bloğu 1
Resim 3 – Kod Bloğu 1

Kare Öğesini Hareket Ettirme

Şimdi sıra geldi yeşil kare öğesini hareket ettirmeye. Bunun için yine bu öğe seçili iken “Yazılar” paneline aşağıdaki 4 kod bloğunu ekliyorsunuz. Bu bloklarda eğer programın çalıştırıldığı andan itibaren klavyedeki yön tuşlarından herhangi birisine basılırsa, scratch programı bunu algılıyor ve bahsi geçen “yeşil kare” öğesini x ve y ekseninde hareket ettiriyor olacaktır.

Kod Bloğu 2
Resim 4 – Kod Bloğu 2

Bitişi ve Çarpmaları Algılama

Aşağıdaki kod bloğunda ise oyunun can alıcı notlarını belirtiyoruz. Peki bunu nasıl yapıyoruz? Yeşil öğemiz alttaki sahne elemanında herhangi bir kırmızı öğeye çarparsa oyunun bittiği ve kazandığını belirten bölüm var. Burada önemli olan şu. Eğer benim sizin için hazırladığım resmi kullanırsanız, zaten kırmızı öğe sadece dikkat ederseniz bitiş bölümünde bulunuyor. Renk ile kullanıcının labirenti bitirip bitirmediğini böylece tespit etmiş oluyoruz. Aynı şekilde duvarlar için siyah renk kullandığımdan dolayı, siyah rengin algılanması oyunun bittiği ve tekrar baştan başlanması gerektiği kod bloğunu da hemen altında görüyorsunuz. Eğer siyah bir nesneye çarparsa, yeşil karemiz başlangıç noktasına dönecek, ve yine süre 60 sn. den geri saymaya başlayacaktır.

Kod Bloğu
Resim 5 – Kod Bloğu 3

Uygulamamıza scratch resmi web sitesinin  buradaki bağlantısından ulaşabilirsiniz. Ayrıca video’ dan da daha geniş bir şekilde oyunun tüm kod bloklarının nasıl eklendiğini görebilirsiniz.

Bir sonraki örnek scratch uygulamaların görüşmek dileğiyle.

Not: Scratch Labirent Oyunu ve Uygulaması || Kodlama Eğitimi isimli makale özgün bir makaledir. Alıntı yapmadan kullanılamaz. @kodlamaegitimi.org

No comments yet! You be the first to comment.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yazılarımızı Takip Etmek için
Facebook Sayfamızı Beğenin
Bizlere destek olun