scratch dersleri

Scracth de Ping Pong Oyunu

Merhaba arkadaşlar;

Mobilhanem.com da yeni bir günde yeni bir konu ve ders ile karşınızdayım. Geçen hafta Scratch de  engel atlama oyunu yapmıştık. Bugünkü dersimizde örnek uygulamalar ile tam gaz devam edeceğiz.  Peki, gelelim asıl burada bulunma amacımıza, bugün neler yapacağız merak ediyor musunuz? Daha fazla merak ettirmeden söyleyeyim ne dersiniz? Bugün sizinle beraber Scratch de ping pong oyunu yapacağız. Peki hazırmısınız scratch de ping pong oyunu hazırlamaya ve scratch de ping pong oyunu oynamaya.Ve asıl güzel olan,duymak istediğiniz, duyunca haz veren cümleyi okumaya…Kendi oyununuzu kendiniz yapmaya hazır mısınız?

Not: beni takip edin benimle beraber sizde adımları gerçekleştirin ve sonra oyunumuzu bitirip kendimiz oynayalım. 😉

scratch de ping pong oyunu

 

Yukarıda scratch ping pong oyunu projesinin tam hali verilmiştir. Yeşil bayrağa basarak sizde projeyi başlatıp son halini görebilirsiniz gençler ve kendini hep genç hissedenler. 🙂

Şimdi gelelim biz bu uygulamayı nasıl yaptık yaparken hangi adımları izledik hepsi aşağıda verilmiş bulunmakta.

NOT: Elbette ki tasarım olarak çok daha geliştirilebilir bir proje biz sadece oyunun mantığıyla ve nasıl hazırlandığı kısmıyla ilgileniyoruz.

HAZIRSANIZ BAŞLAYALIM…

1.Oyun için Kuklaların Belirlenmesi

İlk adımımız tabi ki Scratch programını açmak. Scratch programını açıp hazır hale getirdikten  sonra omuzlar ve başlar  dik bir şekilde yolculuğumuza başlayalım  gençler. Hadi bakalım ;). İlk olarak karakter seçerek başlayacağız işe, tercihen biz bu dersimizde sizinle karakterlerimizi kendimiz çizeceğiz. Hali hazırda olan Scratch karakterlerinden yada internetten seçtiğimiz karakterlerden dosya yükle seçeneği ile yüklemeyeceğiz. Tabi tercihlerinize karışmam özgürsünüz internetten de bulabilirsiniz tercihim benimle beraber ilerlemeniz.

Scratch de ping pong oyunu için ilk adımımız karakterleri ayarlamak.Turuncu çember içinde bulunan seçeneğin üstüne farenizi götürüp ,resimde kırmızı ok ile göstermiş olduğum seçeneği tıklayıp seçeceksiniz. Bunu yaptığınızı varsayarak devam ediyorum. Sarı şerit ile çevrelediğim alandaki kuklaları tek tek çizeceksiniz. Dikkat etmeniz gereken şeyler var! Kukla üç , zemine koyulacak olan tabaka olacağı için o tabakayı orta kalınlıkta uzun bir şerit olarak çizmeyi unutmuyoruz. Kukla 1 ise sizin topu yakalamak için kullanacağınız zemin olacağı için bu zeminin kısa olmasına ve çok kalın çizmemeye özen gösterin lütfen. Evet makerlar bu adımları yapın ve biraz soluklanın…(5 dakika sonra) Biraz soluklandıktan sonra geçelim dekor ayarlarına.

Geldik scratch de ping pong oyunu için diğer aşamaya. Dekoru mor çerçeveli yeri tıklayıp açılan pencereden seçerek oluşturuyoruz. Peki, ikinci dekor dediğinizi duyar gibiyim. Onu da aynı şekilde seçiyoruz tıklayarak. Sonuç olarak iki tane dekora sahip oluyorsunuz. Ya daha sonrasında ne yapacağız şimdi geldik ikici adımımıza.

Üst tarafta sol kısımda  bulunan alandan dekoru seçiyoruz. Bu kısımdan seçtiğimiz dekorlar üzerinde değişiklik ve eklemeler  yapacağız. Ben uzay  resmini ve kaybettiği zaman galaksi resminin çıkmasını tercih ettim. Peki, yazı nasıl oluştu ilk başta seçtiğinizde o yazı orada olmayacak. Pembe ok ile gösterdiğim alandaki seçeneği seçerek kaybettiğinizde çıkmasını istediğiniz yazıyı yazıyorsunuz. Size bir öneri yeni bir oyuna başlamak isteyen biri için  nasıl başlayacağı ile ilgili yazıda bilgi içermesi. Şimdi dekoru da halletmiş olduk. Hazır mısınız?

2.Oyunda Kullanılan Kodlar

HAYDİ, KODLAMA SAATİ!

Karakter1

Yukarıda görmüş olduğunuz  karakterimizin kodlarını yapmaya hazır mısınız? Başlamadan önce küçük bir hatırlatmaya ne dersiniz?

Hatırlatma:

Sayılar sağa doğru ne kadar gidecek isek “+ “sola doğru ne kadar gideceksek” -“, yukarı doğru ne kadar gidecek isek “+”,aşağı doğru ne kadar gidecek isek” – ” işaretini alır.

Bu kod bloklarında topu yakalamak için kullandığımız karakterimizin hareketlerini kontrol etmek için konum değiştirebilmesini sağladık. Sağ ok ile “+ 10” hareket etmesi için komutlandırarak karakterimizin sağa doğru gidişini mümkün kıldık.  Bunu sürekli yapmasını sağlamak için ise “sürekli tekrarla” bloğunu kullandık. Eğer “sağ oka” basarsak  Scratch ping pong oyunu kodlamamızda “sağa” hareket edecek. Aynı şekilde “-10” yaparak ise Scratch ping pong oyunu karakterimizin “sola” hareket etmesini sağladık. Hatırlatma amacına ulaştı gibi ne dersiniz? Şimdi devam edelim,olaylar menüsünden “yeşil bayrağa tıklandığın”da, “kontrol menüsün”den “sürekli tekrarla” ve “eğer ise” yi, “algılama menüsün”den sağ ve sol ok tuşuna basıldı mı, hareket menüsünden ise ” x konumunu 10 değiştir” bloğunu bulup iç içe yerleştiriyoruz.Uzun soluklu bir cümleydi sanırım. 🙂

Bu komutları yapmamızın amacı ise karakterimizin her yeni ping pong oyunu başında sahne ortasında konumlanmasını sağlamak. Yeni oyun haberi geldiği zaman siz nerede oyunu kaybederseniz kaybedin ping pong oyunundaki topun sahne ortasından başlamasını sağlayacak. Olaylar menüsünden yeni oyun “haberini sal  1 “ “hareket bloğundan… konumuna git” i, görüntü menüsünden de “göster” i alıp yerleştiriyoruz.

 

Yeni oyun yazısını da yeni oyun yazısının hemen yanında bulunan aşağı yönlü küçük okçuğa basıp yeni haber seçeneğinden en başta ekliyorsunuz. İlk başta yeni oyun yazısı kayıtlı olmayacaktır.

Aynı şekilde yeni haberden kaybettiniz yazısını ekleyerek kaybettiğinde karakterimizin gizlenmesini sağlıyoruz. Peki, söylememe gerek olmasa da adettendir söyleyeyim. Kaybettiniz “haberini sal ” olaylar menüsünde, “gizle” ise görüntü menüsünde bulunuyor.

Karakter 2

Geldik scratch ping pong oyunu için  ikinci karakterin komutlarına… Her zamanki gibi yaptığınız kodun çalışmasını istiyorsanız olaylar menüsünden yeşil bayrağa tıklandığında bloğunu seçmeniz gerekiyor.

Daha sonra yapmanız gereken topun dönerken de hareket etmesidir. Bunu için hareket menüsünden “15” derece dön” seçip “15” sayısının yazdığı bölgeye operatörler menüsünden “1 ile 10 arasında rastgele sayı seç” bloğunu seçiyoruz. Yuvarlak çember çevresi “360” olduğu için “10 “sayısının yazdığı yeri tıklayıp silip “360” yazarak değiştirmek. Sürekli “360” derece dönmesini istemiyoruz, çapraz ve düzde gitsin istiyoruz. O yüzden o kod bloğunu kontrol menüsündeki sürekli tekrarla bloğunun içine koymayacağız. Geldik sıradaki kodumuza, topun ilerlemesi gerekiyor. İşte tamda bu yüzden hareket menüsünden “10 adım git” bloğunu ve kenara değdiğinde sekmesi için aynı menüden “kenara geldiysen sek” bloğunu seçip yerleştiriyoruz. Yorulduk mu? Hayır dediğinizi duyar gibiyim. Çünkü siz zorla değil severek bu işlerle uğraşan meraklı ve bir o kadar zeki kişilersiniz. O zaman yorulmak yok daha çok yolumuz var tam gaz yola devam.:)

Karakter 2′ ye devam ediyoruz

Geldik şimdi sıradaki kodlara yine yapacağımız şey görselde de gördüğünüz gibi olaylar bölümünden yeşil bayrağa tıklandığında bloğunu almak. Peki, neden alıyorduk bu bloğu? Sorunuza cevap niteliğinde bir cümle hemen geliyor karşınıza. Yeşil bayrağa basıp oyunumuzu çalıştırdığımızda yazdığımız kodların çalışması için. Bildiğinizi biliyorum sadece bazen sürekli dillendirmek öğrenmeyi hızlandırır. Bu nedenden dolayı üst üste söylüyorum. Daha sonra oyun boyunca tekrarlamasını istediğimiz için sürekli tekrarla ve bir koşul öne sürdüğümüz içinde eğer ise bloğunu alıp yerleştiriyoruz. Koşulumuz eğer topu yakalaması için görevlendirdiğimiz için   “kukla 1” değiyor mu bloğunu alıyoruz. Daha sonra tekrar ilerleyip geri dönmesi için hareket menüsünden “15 derece dön” bloğunu alıyoruz. “15” yazan yere operatörler menüsündeki “1 ile 10 arasında rastgele sayı seç” bloğunu seçip yerine koyup “10 sayısının yazdığı yeri 360 ” ile değiştirip bu aşamayı da tamamlıyoruz.

Geldik bu kodlama aşamasına…” kukla 3″ dediğimiz bildiğiniz üzere zemin eğer zemine yani kukla 3’e değerse kaybetmiş oluyoruz.  Kaybettiniz yazısı için olaylar, kontrol ve algılama menülerinden gereken blokları seçiyoruz. Sona yaklaşıyoruz sabredin yaptığınız oyunu oynamanıza çok az kaldı.

Bu kısımda da olaylar menüsünden “kaybettiniz haberini aldığında” komutunu aldıktan  sonra topunuzu gizlemesi için görüntü menüsünden “gizle” bloğunu seçip alıyorsunuz. Peki, gelelim asıl konuya tamam kaybedince gizleyecek. Peki ben tekrar oynamak istiyorsam oyun nasıl sıfırlanacak dediğinizi duyar gibiyim. Hadi gelin onu da göstereyim aynı zamanda kod parçacığını da yapalım.

İşte beklenen kod parçacığı! Yapacağımız şey olaylar kısmından  “boşluk tuşuna basılınca” ve ‘’yeni oyun haberini sal’’ bloklarını almak ve iç içe yerleştirmek. Eğer ki sizde yeni oyun yazmıyorsa ne yapacağınızı biliyorsunuz değil mi? Yanındaki küçük okçuktan seçeneği değiştirmek 🙂

Yeni oyun başladığında topun sahnenin üst kısmından başlaması için de ne yapıyoruz peki? Olaylardan yeni oyun haberini aldığında ’yı alıyoruz. Hareketlere gelip topun nereden başlamasını istiyorsak proje ekranında topumuzu o kısıma getirip bırakıyoruz. Sonra otomatik olarak değişen koordinatlarından sonra “x” ve “y”nin koordinatlarının yazılı olduğu konumuna git bloğunu alıyoruz. Kaybederken gizlenen topumuzu göstermek için görüntü menüsünden göster bloğunu alıp iç içe yerleştiriyoruz. Bu kuklamızın kodlarının da sonuna geldik kaldı geride son kuklamız olan kukla3.

Karakter 3

Topun değdiği zaman bizim kaybetmemizi sağlayan bizim oluşturduğumuz zemin ile karşınızdayım. Baylar ve bayanlar karşınızda kukla 3! Dramatik olsun istedim malum son kuklaya gelmiş bulunmaktayız.

Bu kuklamızın sadece iki kod parçacığı var onlarda görselde de gördüğünüz üzere dekor geçişlerini sağlayan kodlar. Kaybettiğimiz zaman seçtiğimiz ve üzerine yazı da eklediğimiz galaksi dekoruna geçmesi için kullandığımız kod parçası. Aynı şekilde aldığımız kod parçalarının yanlarındaki küçük okçulardan seçenekleri değiştirerek yeni oyuna geçiş yaptığımızda  yeni dekorun gelmesine yardımcı olan kod parçası.

Ve sona geldik bitti şimdi benimle beraber sabredip sonuna kadar geldiğiniz için öncelikle teşekkür ederim. Biliyorum heyecanlısınız hemen denemek istiyorsunuz oyununuzu.  O yüzden sizi çok tutmayacağım. Sizinle beraber güzel vaktin sonuna geldik. Unutmayın bunlar daha bir başlangıç siz bunun üstüne eklemeler yapıp kendi kurallarınız ile kendi oyununuzu yapabilir bu oyunu geliştirip daha mükemmel hala getirebilirsiniz. Çünkü siz isteyince her şeyi başarabilecek müthiş insanlarsınız.  Sizinle diğer derste görüşmek için sabırsızlanıyorum. Bu arada bir önceki derslerimize tekrar bakmak ister yada gözden kaçırıp bizimle beraber yapmadığınız bir ders , unuttuğunuz şeyler varsa Scratch Derslerine göz atabilirsiniz.  Merak ettiğiniz konularda ise soru-cevap da buluşmak üzere.

 

18

Ayşe Rabia Tımmaz

Yorum Yaz

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?