Scratch Ders 10 : Uzay Savaşları Oyunu

 


Scratch programı ile beraber Uzay Savaçları oyun yapımı örneğini yapacağız. Scratch ile beraber yapacağımız uzay savaşları oyununda uzay gemisi ile gelen kayalara ateş etmek ve bu kayaları vurmak. Kayalar her çarptığında ise bir canımız gidiyor. Bunun için Scratch'de öncelikle arka plana uzay resmi ekliyoruz.Kuklalardan 1 Uzay Gemisi, 3 Kaya, 1'de Mermi çizip çalışma ekliyoruz. Veriden, Vurulan Kaya Sayısı ve Kalan Can ile tüm kuklalarda kullanacağımız bir veriyi oyun başlamadan oluşturuyoruz.


Eklediğimiz Uzay Gemisini seçip içine yukarıdaki kodları yazıyoruz. Öncelikle kullanıcının hangi tuşa basıp basmadığını "Eğer İse" kodunun içine hangi tuşu kullanıcı basıp oynayacaksa onların kontrolünü yapıyoruz. Eğer yukarı ok tuşuna basılı ise y pozitif yönünde 5 artırarak yukarı doğru geminin hareket etmesini sağlıyoruz. Eğer, aşağı ok tuşuna basılı ise y negatif yönünde 5 adım atıyor. Yani aşağıya doğru bir hareketi mevcut. Eğer, sol ok tuşuna basılı ise sola doğru x negatif yönünde hareket ediyor. Eğer, sağ ok tuşuna basılı ise x pozitif yönünde sağa doğru hareket ediyor. Burada sürekli tekrarla kodunu koymamızda ki amaç yön tuşlarına basılı olduğu müddetçe gemimiz hareket etsin. Yoksa, elimizi sürekli çekip tuşlara basmamız gerekecekti. Haber 3, merminin kayaya çarpma esnasında yollanan haber. Bu haber geldiğinde Vurulan Kaya Sayısı 1 artıyor. Haber 2 ise kayaların uzay gemisine çarpma haberi gelince Kalan Can'ı 1 azaltıyoruz. Eğer Kalan Can =0 eşit olduğu zaman uyarı mesajını çıkartıp tüm oyunu durduruyoruz.


İlk eklediğimiz kayayı seçip yukarıdaki kodları kayanın içerisine ekliyoruz. Oyun başlangıcından Vurulan Kaya Sayısı 0 olsun. Kalan Can ise 5 oldun. 0.5 saniye sonra Kayamız kodlarda belirtilen x ve y koordinat aralığında rastgele bir yere gidip gözükecek.(oyun başlamadan önce kayaları gizli yapıyoruz) Kayamız sürekli olarak negatif y koordinatında yani aşağıya doğru sürekli olarak hareket edecek. Fakat, burada bazı kontrolleri yapmak durumundayız. Kayaya mermi değdi mi? Kaya Kenara değdi mi? veya Kaya ya Uzak gemisi değdi mi?

1. Olasılık: Kaya'ya mermi değdi mi? Eğer değdi ise kayamız yok olacak yani gizlenecek. 0.5 saniye bekliyecek ve verdiğimiz x ve y koordinat aralığında rastgele bir yerde kayamız ortaya tıkacak. ve Haber 3'ü salacak. Bu haberimizin gelmesi ile Vurulan Kaya Sayısı 1 artacak.

2. Olasılık: Kayamız ekranın aşağı kenarına değdi mi? Eğer değdi ise kayamız yok olacak yani gizlenecek. 0.5 saniye bekliyecek ve verdiğimiz x ve y koordinat aralığında rastgele bir yerde kayamız ortaya tıkacak.

3. Olasılık: Kaya'ya uzay gemisine değdi mi? Eğer değdi ise kayamız yok olacak yani gizlenecek. 0.5 saniye bekliyecek ve verdiğimiz x ve y koordinat aralığında rastgele bir yerde kayamız ortaya tıkacak. ve Haber 2'yi salacak. Bu haberimizin gelmesi ile Kalan Canımız 1 azalacak.

Böylece Kayamız hareket edecek ve mermi veya uzay gemisinin hedefi olacak. Kayanın üzerine sağ tıklayıp kopyasını çıkart diyerek kayamızı ve içindeki kodları çoğaltmış oluruz. Tek yapmamız gereken kayanın ortaya çıkacağı x ve y koordinatlarını değiştirmek yoksa üst üste çok kayamız oyunda oluşur.


Merminin içine yazağımız kodlar yukardaki gibidir. Mermimiz başlangıçta geminin üstündedir. Fakat geminin içine yazdığımız üste çık kodu ile uzay gemisi merminin üstüne çıkar ve mermi görünmez olur. Mermizi uzay gemisi ile hareket ettirmek için. Boşluk tuşuna basılana kadar merminin x konumu ve y konumu uzay gemisinin x ve y konumudur ve o noktalara git diyoruz. Böylece gemi nereye giderse mermide onunla beraber gitmiş olur. Boşluk tuşuna basılınca merminin gemiden çıkması gerekiyor. Bu tuşa basılınca mermi sal haberi salınır. ve y yönünde hareket eder.

Yorum Gönder

Daha yeni Daha eski