Oyun Yazıyorum konusunda; yukarıdan düşen objeleri toplamaya ve objelerin rastgele hareketlerini takip edip yakalamaya dayalı basit oyunların programlama adımları anlatılmaktadır.

1- Yıldız Toplamaca

mBlock programında gittikçe ustalaşıyoruz. Eğer önceki konularda eksiğiniz varsa mutlaka tekrar ederek konuları daha iyi kavrayalım.

Şimdi gökten düşen yıldızları yakalayabileceğimiz bir oyun yapacağız. Bu oyunu dilerseniz düşen elmaları sepete toplama fikriyle de yapabilirsiniz.

Aşağıdaki adımları sırayla uygulayalım.

  1. mBlock prıgramını açalım ve öncelikle panda kuklamızı silelim.
  2. Gökyüzünden yıldız düşme fikrine uygun bir arkaplan görseli ayarlayalım. Örneğin mBlock arkaplan kütüphanesindeki Planet1 arkaplanı oldukça uygun bir arkaplan.
  3. Şimdi de düşecek nesnemizi yani yıldız kuklasını ekleyelim. Kukla kütüphanesinde arama kutusuna star yazalım ve çıkan kuklalardan Star1 kuklasını ekleyelim.
  4. Yıldız kuklamız biraz büyük. Boyut ayarı kısmından 100 olan boyutunu 20 yapalım.
  5. Şimdi yıldızın yukarıdan herhangi bir yerden düşmesini sağlamak için aşağıdaki blokları kullanalım.



    Rastgele konum’a git” bloğunu bulabildiniz mi? (fare oku’na git bloğunu inceleyin)
    Rastgele konum’a git” bloğu yıldızın rastgele bir yerden düşmesini, “y, 180 olsun” bloğu yıldızın en yukarıdan düşmeye başlamasını, “y’yi -5 değiştir” de yıldızın aşağı doğru hareket etmesini sağlıyor.
  6. Yıldızımız yere düşüyor ancak oyunun sürekliliğini sağlamak için ekranın en altına düştüğünde yukarıdan yeniden başlaması gerekiyor. Bunu sağlamak için kod bloğumuza aşağıdaki gibi düzenliyoruz. (sürekli tekrarla içine eğer bloğu grubunu ekliyoruz.)
  7. Oyunumuz için yıldızı yakalayacak bir de kuklaya ihtiyacımız var. Bunun için kukla kütüphanesinden Crab (yengeç) kuklasını ekleyelim. Kuklamızın Boyut değerini de 70 yapalım.
  8. Şimdi kuklamızı klavyeden sağ ve sol ok tuşlarıyla kontrol edebileceğimiz bir hâle getirelim. Aşağıdaki görselde yer alan blokları inceleyelim. Bu bloklar sayesinde sağ ve sol ok tuşları ile kuklamızı hareket ettiriyoruz. (Bu blokların Crab kuklasına eklendiğini unutmayın.)


  9. Kuklamız yıldıza dokunduğunda ses çıkması için, yıldız kuklamızı seçelim ve aşağıdaki kırmızı kutu içindeki blokları (önceki bloklarımızın yanına) ekleyelim.


  10. Oyunu biraz daha eğlenceli hâle getirelim. Yıldız topladıkça artan bir puanlama sistemi ekleyeceğiz. Böylece topladığımız yıldız sayısını takip edebiliriz. Değişkenler grubundan “Bir Değişken Oluştur” butonuna basalım, açılan pencerede değişken adına “Puan” yazalım.


  11. Bloklarımızı puan hesaplayacak şekilde aşağıdaki gibi güncelleyelim. (Kırmızı kutu içindeki blokları önceki bloklarımızın arasına ekliyoruz.)

    Aşağıdaki kod ile yıldız kuklası, Crab kuklasına her değdiğinde bir puan arttırıyoruz. Oyun yeniden başladığında ise puanları sıfırlıyoruz.
  12. Şimdi oyunu biraz daha heyecanlı hale getirmek için yıldızların sayısını arttıralım. Bunun için yıldız kuklasına sağ tıklayıp kopyasını çıkart seçeneğini seçelim. Böylece yıldız kuklası, ona eklediğimiz bloklarla beraber kopyalanmış olacak. Bu işlemi bir defa daha yapalım. Toplam 3 yıldız oldu.

    Yıldızların farklı hızlarda düşmesini istiyorsanız blokların içindeki y’yi -5 değiştir bloğundaki değeri her yıldız için farklı yapabilirsiniz. Örneğin yıldız kopyalarından biri için -6, diğeri için -7 yazabilirsiniz.

Yıldız toplamaca oyunu bu kadar. Eğer adımları dikkatlice uyguladıysanız sayfanın başında yer alan animasyondaki gibi yıldız toplama oyununu yapmış olmalısınız.

Oyunu başarılı bir şekilde yaptıysanız şu özellikleri de ekleyebilirsiniz:

  • Yıldız sayısını artırma
  • Yakalanamayan yıldızlar için farklı ses çalma
  • Yakalanamayan yıldızlar için Puandan 1 eksiltme
  • Süre sınırı koyma. (Örneğin 20’den veya 10’dan geriye sayacak ve süre 0 olduğunda oyun bitecek.)
  • Süre sıfır olduğunda arkaplan değişecek. (Oyunun bittiğini gösteren farklı bir arkaplan gözükecek.)

2- Akvaryum Oyunu

Yeni bir yakalama oyunu daha yapalım. Akvaryum içinde büyük balık küçük balıkları yakalasın. Oyunu tamamladığınızda aşağıdaki gibi olmalı.

Aşağıdaki adımları sırayla uygulayalım.

  1. mBlock uygulamasını açalım ve panda kuklamızı silelim.
  2. Arkaplan kütüphanesinde arama kutusuna water yazalım ve çıkan water1 isimli arkaplanı ekleyelim.
  3. Şimdi biri büyük biri küçük olmak üzere iki tane farklı balık ekleyeceğiz. Öncelikle küçük balığımızı ekleyelim. Kukla kütüphanesinde Hayvanlar kategorisini seçelim ve arama kutusuna fish yazalım, çıkan sonuçlardan Fish7 isimli balığı ekleyelim. Balığımızı ekledikten sonra boyutunu 40 yapalım.


  4. Sıra büyük balığı eklemeye geldi. Yine Kukla kütüphanesinden Hayvanlar kategorisinde fish araması yapalım ve çıkan sonuçlardan Fish2 kuklasını seçip ekleyelim ve boyutunu 80 yapalım.

    Fish2 balığı seçiliyken Kostümler ekranında önce adını büyük balık 1 olarak değiştirelim. Daha sonra biraz düzenleme yapmalıyız.

    Balığın bir kopyasını oluşturalım. Yeni oluşturduğumuz kopya kostümün adı otomatik olarak büyük balık 2 oldu. Bu kostüme açık bir ağız çizeceğiz. Silgimizin boyutunu 60 yapıp balığın ağız kısmını silelim (iki defa ağız kısmına silgi ile tıklayabiliriz) ve fırça ile açık bir ağız çizelim. Çizimlerinizde komik olmak serbest 🙂 Tüm bu adımların nasıl yapıldığını aşağıdaki animasyondan izleyebilirsiniz.


  5. Şimdi geldik kodlama kısmına. Önce kırmızı küçük balığımız için bir kod yazalım. Balığımız akvaryumda dolaşacak. Eklediğimiz rastgele sayı tut sayesinde balığımızın hareketleri rastgele olacak ve daha doğal görünecek. Küçük balık kuklasına aşağıdaki blokları ekleyelim.


  6. Şimdi de küçük balığın yakalanmasını sağlayalım. Küçük balığın herhangi bir yeri (kafası, gövdesi veya kuyruğu) büyük balığın sadece kafa kısmına değdiğinde yakalanmasını istiyoruz, büyük balığın kuyruğuna ya da yüzgeçlerine değdiğinde değil. Bu nedenle Algılama grubundaki “… rengi… rengine değdi” bloğunu kullanacağız. Burada küçük balık için dikkat etmemiz gereken bir konu var. Küçük balığın kafa kısmı açık turuncu iken gövde ve kuyruğu daha koyu bir turuncu renkte. Bu sebeple küçük balık için iki rengi de içerecek şekilde blokları düzenlemeliyiz.

    Küçük balığımıza ait bloklarımızı aşağıdaki gibi güncelleyelim. (Blok içindeki renklerden birine tıkladığınızda açılan renk seçme penceresindeki damlalık aracıyla sahneden istediğiniz rengi seçebilirsiniz.)



    Yukarıdaki bloklarla küçük balık, büyük balığın ağzına dokunduğunda ileti yayınla (habersal) bloğu ile yakalandın haberini gönderiyoruz ve küçük balık “gizlen” bloğu ile kayboluyor. Küçük balık 3 sn sonra rastgele bir yerde tekrar ortaya çıkıyor.
  7. Sıra geldi büyük balığımıza. Balığımızın hareketlerini fare oku ile kontrol etmek istiyoruz. Ayrıca yakalandın iletisi alınınca Chomb sesi çalacak ve büyük balık ağzını açıp kapayacak. Büyük balığı seçip aşağıdaki blokları ekleyelim..



    Dikkat ettiyseniz bir önceki Yıldız Toplamaca oyununda olduğu gibi burada da bir puan değişkeni oluşturduk, böylece kaç balık yakaladığımızı da görebileceğiz.

    Akvaryum oyunu da bu kadar.

Oyunu başarılı bir şekilde yaptıysanız şu özellikleri de ekleyebilirsiniz:

  • Küçük balık sayısını artırma (Örneğin 3 küçük balık ile oynama)
  • Büyük balığın boyutunu, her küçük balığı yakaladığında 1 birim büyütme.
  • Süre sınırı koyma. (Örneğin 20’den veya 10’dan geriye sayacak ve süre 0 olduğunda oyun bitecek.)
  • Süre sıfır olduğunda arkaplan değişecek. (Oyunun bittiğini gösteren farklı bir arkaplan gözükecek.)

  • Yıldız toplamaca oyununun tüm özellikleriyle bitmiş halini indirmek için tıklayın.
  • Akvaryum oyununun tüm özellikleriyle bitmiş halini indirmek için tıklayın.

Bu konuda hazırlanmış bir sunu yok!

Bu konuda hazırlanmış bir test yok!

Yorum yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir