
Merhabalar,
Bu yazımızda penaltı çekme oyunu yapacağız. Hazırsak hemen başlayalım.
Öncelikle dışarıdan kukla veya dekor eklemedim. Hepsini Scratch’ in imkanlarını kullanarak hallettim.
Öncelikle sporlar bölümünden “Soccer” dekorunu ekledim.
Sahneme herhangi bir kod yazmadım. Toplamda üç kuklam var bunların ikisini hazır olarak ekledim birini dikdörtgen aracını kullanarak çizdim.

Top ve kaleci kuklası sporlar bölümünde bulunuyor tabi isimleri farklı.
Kaleci arkası kuklamı topun kaleye değip değmediğini kontrol etmek için çizdim. Kodları aşağıdadır.

Hep aynı konumda kalıyor ve oyun sırasında görünmüyor. Eğer gizle yapsaydım bu sefer yazdığım kodlar çalışmazdı. Bu şekilde yapmam gerekiyor.
Ardından kaleci kuklama geçelim.

Kırmızı bölümde gol atamadığım zaman kaçırdığım golleri tutacak bir değişken oluşturdum ve başlangıç değerini sıfır verdim. Ardından sürekli aynı konumda başlamasını sağladım.
İkinci bölümde kalecihız diye bir değişken oluşturarak 0.1 – 1 arası bir sayı tutmasını istedim kalecimin topu kurtarmak için hareket etme hızını bu değişken ile sağlıyorum. Farex ve farey değişkenlerim ekranda görünmesine gerek yok sadece kodlarımı yazmak için kullanıyorum. Sahnede bulunan kalemin en sağına ve en soluna fare imlecimi getirerek konumlarını alıyorum ve aynısını y konumu içinde yapıyorum. Eğer fare imlecimi kalenin dışında bir konuma sürüklemişsem(top fare imlecime göre hareket edecek) avut oluyor ve kaçan değişkenim 1 artıyor. Eğer fare imlecimi kale içerisine sürüklemişsem kalecim belirlenen hıza göre o konuma hareket ediyor. Yani kalecim sadece fare imleci kale içindeyse hareket ediyor.
Yeşil bölümde ise top kuklasından gelen habere göre kalecim başlangıç konumuna geçiyor.
Şimdi son kuklamız olan top kuklamıza geçelim.

Kırmızı bölümde topumun hareket hızı için bir değişken belirtiyorum ve topum bu hıza göre fare imleci neredeyse o konuma gidiyor. Topum konumuna gittiği zaman bir haber salıyor.
Yeşil bölümde sırası ile,
Haber gelince fare imlecim eğer ortada değilse yani topumu ortaya vurmadıysam topumun kale arkasına değiyormu ve top hızım küçükse kaleci hızımda gol olmuş oluyor. Top hızımın saniyesi küçük olacağı için o daha önce gidiyor tabi gittiği yer kale ise gol oluyor ve topum kalecinin arkasında görünüyor. Biraz bekleyerek topum ve kalecim başlangıç konumlarına gidiyor.
Daha sonra eğer topumun hızı büyükse kaleci hızımdan yani topum daha yavaş ise ve topum yine kaleye gitmişse bu sefer kalecim topu tutmuş oluyor ve topum kalecinin önünde görünerek kaçan değişkenim bir artıyor.
Son olarak yukarıdaki kodlar aynı anda iki kere çalışmaması için eğer topumun hızı küçükse kalecimin hızından yani topum daha hızlıysa ama ortaya vurmuşsam yine gol olmuyor.
Yazının video anlatımı için tıklayınız.
Bir sonraki yazıda görüşmek üzere…
Yazıya buradan ulaşabilirsiniz.