Air Hockey Oyunu

Merhabalar,

Bu yazımızda eğlenceli ve çift kişilik oynanan air hockey oyununu yapacağız. Hadi hemne başlayalım.

Bu uygulamam için toplamda beş kukla kullandım.

Birinci kuklamı “maviarka” olarak isimlendirdim. Bu kuklam topa vuramadığım zaman karşı tarafa puan kazandırmak için gerekli.

Aynı şekilde “bordoarka” olarak isimlendirdiğim kuklam da aynı görevi görüyor. Bu kuklalar ekranın yatay olarak tamamını kaplayacak şekilde çizilmiş ince dikdörtgenlerdir.

Ardından topa vurmak için yine iki ince dikdörtgen çizdim ve “mavioyuncu” “bordooyuncu” olarak isimlendirdim.

Son olarak top kuklamı hazır olarak Scratch kuklalarından “Ball” kuklasını aldım.

Daha sonra topa vuracağım “mavioyuncu” “bordooyuncu” kuklalarıma kodlarımı yazdım.

Mavioyuncu kuklam a ve d tuşları ile bordooyuvu kuklam sağ ok ve sol ok tuşları ile hareket ediyor.

Daha sonra “Ball” yani top kuklamın kodlarını yazdım.

Açıklama

Başlangıç için dört yön belirledim. Bu yönler yukarı sol ve sağ aşağı sol ve sağ.  Yön diye bir blok oluşturarak yönleri ayrı bir algoritmada yapmak istedim karmaşıklığı önlemek için. Yön diye bir değişken oluşturdum ve 1 ile 4 arasında rastgele bir sayı tutmasını sağladım. Her sayı için belli bir dereceye top kuklam yöneliyor. Yeşil bayrağa tıklanınca önce top kuklamın orta noktaya gitmesini sağladım ve her seferinde dört yönden birine gitmesini söyledim.

Ardından “maviarka” kuklama topum değiyorsa demekki mavioyuncu topu karşılayamamış oluyor o halde bordooyuncum bir puan kazanıyor. Topum yine başlangıçtaki gibi orta noktaya gidiyor, yarım saniye bekliyor ve dört yönden bir tanesine gidiyor.

Aynı kodlar “bordoarka” kuklam için de geçerli.

Daha sonra topum mavi oyuncu kuklama değerse tekrar aynı şekilde geri dönmesi gerekiyor.  Örneğin: Top  kuklam 0 derece ile yukarı doğru gidiyorsa aynı şekilde aşağı gelmesi için dtop kuklamın derecesinin 180 olması lazım. Bunum için yönel komutunun içine matematiksel operatör kullanarak 180- yön yani örnekteki gibi açıklarsak 180-0=180 olur. Yukarı çıktığı gibi düz bir şekilde aşağı iner.

Aynı kodlar “bordooyuncu ” içinde geçerli.

Son olarak top kuklama haber gelince komutu var. Bu komutları dekor bölümünde yaptım.

Uygulamama algılama bölümünden süreyi tutması amacıyla zamanlayıcı ekledim. Zamanlayıcının çalışması için sahneme eklemem yeterli başka herhangi bir  koda gerek yok.

Sahnemde eğer zamanlayıcım 60 dan büyük ise yani 1 dakika olmuşsa haber salıyorum ve oyunum duruyor.

Puanlarımı tutan iki değişken oluşturdum ve hangisi büyükse ona göre bir bildirim verdim.

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…