Sayfalar

17 Mayıs 2016 Salı

Scratch: Balon Patlatma V2 (Skor ve İğne Sayılı)

Daha önce balon patlatma oyununun en basit halinin kodlarını paylaşmıştım(İlk hali için tıklayınız.). Şimdi ise skor bilgisi tutan ve belli sayıda iğne ile başlayan bir oyun haline getireceğiz.

Oyunumuza istediğimiz herhangi bir dekoru ve bir adet balon ile bir adet iğne karakterlerini ekleyelim.

Karakterleri ekledikten sonra öncelikle karakterlerin hareket etmesi için gerekli kodlarımızı yazıyoruz. Oyunumuzun boşluk tuşuna basıldığında çalışmasını istediğimiz için tüm kodlar "Boşluk tuşu basılınca" komutu ile başlayacak. İlk olarak balonun hareket etmesini sağlayalım. Balonumuzun ekranın sağından soluna solundan sağına hareket etmesi için aşağıdaki kodları eklememiz gerekiyor.


Burada balonun daha hızlı olması için 3 sn yerine 2 veya daha düşük değerler yazılabilir.

Balonun her oyun başlangıcında aynı noktadan hareketine başlaması için ;

kodunu eklememiz gerekiyor. Kodu sürekli tekrarla bloğunun üzerine ekliyoruz


Şimdi iğnemizin hareket etmesini sağlayalım. İğnemiz fare ile tıklandığında işaret edilen yere gitmeli. Bunu sağlamak için şu kodları yazmamız gerekiyor.


Burada y:120 olma sebebi balonun y değerinin sabit 120 olmasıdır. x değeri ise farenin x değeri olacak şekilde ayarlanarak işaret edilen noktaya iğnenin gitmesi sağlanmıştır. İğnenin belli bir süre havada kalması gerektiği için de "süzül" komutu kullanılmıştır. İğnenin hızı süre değeri değiştirilerek istenildiği gibi ayarlanabilir. 

Hareket etmelerini sağladık. Şimdi iğnenin balona temas etmesi halinde veya etmemesi halinde neler olacağını yazalım.
Öncelikle "Patlat" adında bir haber oluşturmamız gerekiyor. Bunu iğnenin balona değdiğini diğer karakterlere duyurmak için kullanacağız. Olaylar kategorisinden "haber1 haberini sal" kodunu ekliyoruz ve haberimize isim veriyoruz.

Haber adını "Patlat" veriyoruz. Eğer - değilse kodunu kullanacağız şimdi. Bu blok ile bir olayın olmasını veya olmamasını değerlendirebileceğiz. Balonumuza dokunduğunda şunu yap yoksa bunu yap şeklinde kodlarımızı yazacağız.



Şimdi iğne sayısı ve skor bilgisine geldi sıra. Veri kategorisinden yeni iki değişken oluşturuyoruz. Bunlardan birine "iğne" diğerine "skor" adını veriyoruz. Ekleyeceğimiz değişkenlerin "tüm kuklalar için" seçeneğini işaretleyerek eklemeyi unutmuyoruz.

İşlemleri doğru yaptığınızda aşağıdaki gibi görünmesi gerekiyor.


İğnenin her atıldığında 1 azalmasını sağlamak için iğne 1 arttır bloğunu ekliyoruz. Azaltmak istediğimiz için 1 yerine -1 yazıyoruz. Her iğne atıldıktan sonra azalacağı için iğnenin atılmasını sağladığımız kodların arasına yerleştiriyoruz.

İğne için yazdığımız kodların son hali bu şekilde olması gerekiyor.

Şimdi iğnemizin bitmesi halinde ekranda ne yazılmasını istiyorsak iğnemize ve balonumuza kılık olarak ekleyebiliriz. Ben iğnemize tbr(tebrikler) ve balonumuza vurulduğunda patlaması için balon2 kılıklarını ekliyorum. 

Oyunun en başında iğne sayısının 10 olmasını istiyorum. İğnemin yönünü ve nerede durması gerektiğini de ekliyorum. Bu kodları da eklediğimizde iğne için yazdığımız kodların son hali şöyle oluyor.


Gelelim "Patlat" haberini duyan balonun ne yapacağına. Patlat haberi geldiğinde skorun 1 artmasını ve balonun patlama kılığına geçtikten sonra tekrar sağlam bir balon görüntüsüne geçmesini istiyorum. Bunu sağlamak için yazmamız gereken kodlar;


şeklinde olmalıdır. Skor bilgisinin en başta sıfır olması ve balonun sağlam balon görüntüsü ile oyuna başlamasını sağlamak için ilk yazdığımız kodlara gerekli eklemeleri yapmamız gerekiyor. Bu kodları da eklediğimizde balonumuz için yazacağımız kodları tamamlamış oluyoruz.


Balonumuzun hareket etmesini ve iğne ile teması halinde patlamasını sağladık. 10 adet iğne ile oyuna başlanmasını ve iğnenin ekranda istediğimiz noktaya gitmesini de sağladık. Geriye oyunun ne zaman biteceğini ayarlamak kaldı. İğne sayısı 0 olduğunda oyunun bitmesini sağlamalı ve oyunun bittiğini oyuncuya açıklamalıyız. Bunun için ben iğneme tbr(Tebrikler) kılığı ekledim. Siz istediğiniz herhangi bir çalışmayı yapabilirsiniz. Şimdi benim oyunu nasıl sonlandırdığımı görelim.


Burada iğne sayısının 0 olması durumunda ekranın ortasında "Tebrikler" yazısının yazılmasını sağlıyorum. Ardından "hepsi durdur" komutu ile oyunu sonlandırıyorum.

Oyun sonuna yazılacak şu kod ile oyuncuya skor durumuna göre "mükemmel", "idare eder" gibi mesajlar verilebilir.

Hepinize başarılar... :)

Hiç yorum yok:

Yorum Gönder