top of page

BTY 6.2.15 - Oyun Yazıyorum


Scratch ile oyun tasarımı


Geçen hafta Scratch programı ile çizim yapan kedi ve çizim programı isimli projeler hazırlamıştık. Bu hafta ise Scratch programında iki adet proje tasarlayacağız. Birincisi yıldız toplayan çocuk oyunu ikincisi akvaryumda yüzen balıklar projesi. Şimdi ilk projemize başlayalım.











Scratch proje örneği 1: Yıldız toplayan çocuk


Bu projede düşenleri yakalama oyunu tasarlayacağız. Öncelikle aşağıdaki adımları dikkatlice okuyunuz ve ardından bu adımların nasıl uygulandığını gösteren videoyu izleyiniz. Daha sonra ise projenin bitmiş halini inceleyiniz.


Bu projede projemizi açan kullanıcıların çocuğu ok tuşları ile hareket ettirerek yukarıdan düşen yıldızları yakalamasını ve puan kazanmasını sağlayacağız. Projemize başlayalım.




Adım 1:


Programımızı açıyoruz. Her zamanki gibi karşımıza programın bize otomatik olarak verdiği kukla olan turuncu kedimiz çıkıyor.













Adım 2:


Bu projede turuncu kediyi kullanmayacağız. Bu nedenle turuncu kediyi siliyoruz. Bunun için kedi üzerine sağ tıklayıp silebiliriz. Ya da yukarıdaki makas butonuna basarak bu işlemi gerçekleştirebiliriz.











Adım 3:


Kukla kütüphanesini açıyoruz. Buradan projemizde kullanacağımız kuklamızı seçeceğiz.












Adım 4:


Kukla kütüphanesinden bu proje için star yani yıldız kuklasını ve bir çocuk kuklasını seçeceğiz. Aşağıdaki gibi Anna ve Star1 kuklasını bulup seçiyoruz.













Adım 5:


Kuklalarımız ekrana geldi. Şimdi dekorumuzu seçelim.











Adım 6:


Bu projede aşağıdaki gece resmini dekor olarak kullanacağız. Dekor kütüphanesinde olmadığı için aşağıdaki indirme linkinden indirip ekleyeceğiz. Bunun için aşağıdaki linkten resmi indiriyoruz. Ardından resimde gördüğünüz gibi dekoru bilgisayarından seç deyip resmi projeye ekliyoruz.














Adım 7:


Dekorumuz da projemize eklendi. Şimdi kuklalarımızın kodlarını yazalım.










Adım 8:


Öncelikle yıldızların yukarıdan düşmesi için kodlarımızı yazalım. Yeşil bayrağa tıklanınca kodunu en başa ekliyoruz. Devamında hareket kodlarından rastgele konum'a git ve y 180 olsun kodunu ekliyoruz. Böylece yıldızımız soldan sağa rastgele bir konuma gelecek ve yukarıda belirecek.


Daha sonra sürekli tekrarla kodunu ekliyoruz ve onun içine y'yi -5 artır kodunu ekliyoruz. Bu yıldızın yukarıdan aşağı doğru yavaş yavaş inmesini sağlayacak.










Adım 9:


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 y'yi -5 arttır kodunun altına eğer y konumu -170 den düşük ise kodunu ekliyoruz. Bu kodlar işlemler ve hareket kodları içerisinde yer alıyor. Daha sonra alt tarafa rastgele konuma git ve y 180 olsun diyor yani ekranın üzerine tekrar yönlendiriyor. Böylece yıldız en alta geldiğinde yıldız tekrar en üste geçecek.









Adım 10:


Şimdi Annayı oyuncunun kontrol edebileceği bir hâle getirelim. Mesela sağ ve sol oka basarak kontrol edebilsin. Bunun için yeşil bayrağa tıklanınca sürekli tekrarla kodu içerisine eğer sağ ok tuşuna basılı ise x i 10 artır eğer sol ok basılı ise x i -10 artır. Yani sağ ok tuşu Anna'nın sağ tarafa gitmesini, sol ok tuşu Anna'nın sol tarafa gitmesini sağlayacak.









Adım 11:


Şimdi çocuğun yıldızları yakalayıp yakalamadığını anlamak için bir ses kullanabiliriz. Bunun için yıldız kuklasına yeni bir kod ekleyelim. Bunun için aşağıdaki kodları kullanarak Anna yıldıza değdiğinde pop sesini çalacak.








Adım 12:


Oyunu biraz daha eğlenceli hâle getirmek için puanlama sistemi ekleyeceğiz. Böylece topladığımız yıldız sayısını takip edebiliriz. Bunun için veri grubundan yeni bir değişken oluşturuyoruz. Adına "Puan" yazıyoruz.







Adım 13:


Ve yıldızlarımızın kodumuzu aşağıdaki gibi puan taşlarını içerecek şekilde güncelliyoruz. Bu kod ile yıldız kuklası, çocuk kuklasına her değdiğinde bir puan arttırıyoruz. Oyun yeniden başladığında ise puanları sıfırlıyoruz. Artık her yeşil bayrağa tıklandığında puan 0 olacak. Çocuk yıldıza değdikçe puan 1 artacak.









Adım 14:


Şimdi oyunu biraz daha heyecanlı hale getirmek için yıldızların sayısını arttıralım. Bunun için aşağıdaki gibi Star yani yıldıza sağ tıklıyoruz ve kopyasını çıkart diyoruz. Toplamda 3 yıldızın kopyasını çıkaralım. Böylece yıldız kuklası kodu ile beraber kopyalanmış olacak. Ayrıca kod yazmamıza gerek kalmayacak. Tüm yıldızlar aynı kod ile çalışacak.











Adım 15:


Projemiz tamamlandı. Artık oyunumuz hazır. Aşağıdan projenin yapım videosunu inceleyiniz.










Projemizin yapım videosu:


Tüm adımların nasıl uygulandığını dikkatle inceleyiniz.












İlk projemizin son hali aşağıdaki gibidir. Aşağıdan projemizin son halini inceleyiniz. Siz de bu projeyi yapmaya çalışınız.





Sizde bu projeyi yapmaya çalışınız. Bu projeyi yapmak için bilgisayara indirdiğimiz Scratch Çevrimdışı programını kullanabilirsiniz.


Ayrıca bilgisayarınızda bu program yok ise bilgisayar, telefon ve tabletten girebilmek ve proje oluşturmak için https://scratch.mit.edu/ adresinden siteye ulaşabilirsiniz.











Scratch proje örneği 2: Akvaryumdaki balıklar


Şimdi ikinci projemize geçelim. Bu sefer bir akvaryumumuz olsun. İçerisinde balıklarımız olsun ve devamlı sahnede gezsinler.


Öncelikle aşağıdaki adımları dikkatlice okuyunuz ve ardından bu adımların nasıl uygulandığını gösteren videoyu izleyiniz. Daha sonra ise projenin bitmiş halini inceleyiniz.


Adım 1:


Programımızı açıyoruz. Her zamanki gibi karşımıza programın bize otomatik olarak verdiği kukla olan turuncu kedimiz çıkıyor.













Adım 2:


Bu projede turuncu kediyi kullanmayacağız. Bu nedenle turuncu kediyi siliyoruz. Bunun için kedi üzerine sağ tıklayıp silebiliriz. Ya da yukarıdaki makas butonuna basarak bu işlemi gerçekleştirebiliriz.











Adım 3:


Kukla kütüphanesini açıyoruz. Buradan projemizde kullanacağımız kuklamızı seçeceğiz.











Adım 4:


Kukla kütüphanesinden bu proje için Fish1 ve Fish 2 yani balık kuklalarını seçeceğiz.













Adım 5:


Kuklamız ekrana geldi. Şimdi dekorumuzu seçelim.











Adım 6:


Dekor eklemek için dekor kütüphanemizden underwater 3 yani su altı dekorunu seçiyoruz.










Adım 7:


Dekorumuz ve kuklalarımız hazır. Şimdi kodlarımızı yazalım.












Adım 8:


Balıklarımızın sahnede rastgele gezmesini istiyoruz. Bunun için yeşil bayrağa tıklanınca kodunun altına sürekli tekrarla kodunu ekliyoruz. Daha sonra sürekli tekrarla kodu içerisine işlemler kodlarından aldığımız -20 ile 20 arasında bir sayı tut kodunu sağa ... derece dön kodu içerisine yerleştirip ekliyoruz. Onun altına 2 adım git ve en son sahneden çıkmasını önleyen kodumuz olan kenara geldiysen sek kodunu ekliyoruz. Böylece balığımız sahnede devamlı hareket edecek.












Adım 9:


Aynı kodları diğer balık için de yazıyoruz. O da sahnede rastgele gezecek.







Adım 11:


Şimdi iki balığımızı da biraz küçültelim. Böylece ekranda az yer kaplayacaklar. Bunun için aşağıdaki resimde görünen küçült butonunu kullanıyoruz.








Adım 12:


Son olarak balıklarımızı biraz çoğaltalım. Böylece sahnede daha fazla balığımız olsun. Balıkları çoğaltmak için aşağıdaki gibi sağ tıklayıp kopyasını çıkart diyebiliriz. Çoğalttığımız balıklar için kod yazmamıza gerek yok. Çünkü balığı kopyaladığımızda kodları da kopyalayıp çoğaltmış oluyoruz.








Adım 13:


Projemiz tamamlandı. Şimdi projenin yapım videosunu izleyiniz.








Projemizin yapım videosu:


Tüm adımların nasıl uygulandığını dikkatle inceleyiniz.









Projemizin son hali aşağıdaki gibidir. Aşağıdan projemizin son halini inceleyiniz. Siz de bu projeyi yapmaya çalışınız.











Sonuç:


Bu dersimizde Scratch isimli blok tabanlı programda animasyon yarattık. Projemizde kullandığımız kodları inceledik.












Bu haftanın görevi:


Bu hafta Scratch programı ile yukarıdaki projeleri yapacaksınız. Projenin yapılış videosunu inceleyiniz ve adımları tekrar gözden geçiriniz. Ve bu projeyi yapmaya çalışınız.


Scratch çevrimiçi giriş linki (Bilgisayar, telefon, tabletle girilebilir.): https://scratch.mit.edu/


Scratch çevrimdışı bilgisayara indirme linki: (Sadece bilgisayara indirilebilir.): scratchindir








bottom of page