Scratch Ders 13: 2 Kişilik Maç Oyunu

Scratch’te karşılıklı maç oyunu yapabilmek için scratch kütüphanesinden 1 top, 2 kalın çizgi (topu karşılamak için), 2 ince çizgi(bunlarda kale görevini görecekler) ekliyoruz. Arka plana da istediğiniz dekoru ekleyebilirsiniz. Skoru tutması için oyuncu-1 ve oyuncu-2 isimli 2 tane veri oluşturuyoruz.


Öncelikle kale görevini görecek siyah kalın çizgileri hareket ettireceğiz. Bu çizgiler sadece yukarı ve aşağı hareket edecekler. Yeşil bayrak tıklanınca bu çizgilerin hareket etmesi için öncelikle Kontrol kodlarının altında olan “Sürekli” kodunu ekliyoruz. Eğer, bunu eklemezsek hareket ettireceğimiz tuşa bastığımızda kaç adım hareket edecekse orada kalacaktır. Bu durum oluşmaması için sürekli hareket kodu eklemeliyiz. Sürekli kodu ekledikten sonra hareket ettireceğimiz tuşa basılı olup olmadığını “Eğer” kodu ile kontrol ediyoruz.


Eğer w tuşuna basılı ise siyah çubuğu hareket ettir. Yukarı ve aşağı doğru hareket ederken y koordinatında hareket gerçekleşecek. Onun için yukarı hareket ederken y’yi pozitif olarak artır. Aşağı doğru hareket ederken y’yi negatif olarak artıracağız ki aşağıya doğru hareket etsin. Son bir kontrolümüz ise siyah çubuklar ekranın dışına çıkmasını engellemek için yapacağız. Bunun için “Eğer” “ve” komutlarını iç içe kullanacağız. Eğer w tuşuna basılı ve kenara değdi ise siyah çubuk x=-200 ve y=105 noktasına git. Bu koordinatlar çubuğun kenara değdi koordinatlar. Yani çubuk kenara değdikçe olduğu yerin koordinatlarına gitmesini sağlayarak çubuğun ekran dışına çıkmasının önüne geçmiş oluyoruz. Bunu aşağı yönden ekran dışına çıkması içinde yapıyoruz.

Diğer kola yazılacak kodlar aşağıda...
 

Top'un içine yazacağımız kodlar aşağıda...


Yeşil bayrak tıklanınca öncelikle daha önce oyun oynandı ise skorları sıfırlıyoruz. Oyuncu-1 ve 2 değişkenlerini sıfırlıyoruz. Topun hareketini devamlı kılmak için “Sürekli” komutunu kullanıyoruz. Top sürekli olarak 10 adım gitsin. Ekranın kenarlarına değdi ise geri dönsün. Top, siyah çubuklara değdi vakit rastgele bir açı ile karşı tarafa gitsin. Bunun için, eğer siyah renge değdi ise 0-90 derece arasında rastgele derece dön komutunu uyguluyoruz. Böylece, top aynı açı ile karşı tarafa gitmemiş oluyor. Sayı kazanma yani skor değişimi şu şekilde oluyor. Topun siyah çubukları aşıp, çubukların arkasındaki mavi ve kırmızı ince çubuklara değmesi gerekiyor. Bunun kontrolü ise şu şekilde; Eğer, top kırmızı renge değdi ise oyuncu-2 skorunu 1 artır. Çünkü oyuncu-2 gol atmış ve o sayı kazanmış oluyor. Sonrasında x=0 ve y=0 koordinatına gitmesini istiyoruz. Eğer, bunu yapmaz isek top bazen kırmızı veya mavi çizgilere çok fazla değmiş olabilir. 1 den fazla sayı haneye yazılabilir. Bunun için bu renklere değer değmez 0 koordinatına topun gidip 1 saniye bekledikten sonra hareket etmesini sağlıyoruz. Oyunun belli bir skorda bitmesini istiyorsak oyuncuların skorlarını kontrol etmemiz lazım. Eğer oyuncu-1 ‘in skoru 5 ise oyuncu -2 kazandı deyip hepsini durdur komutu ile tüm her şeyin hareketini durdurup maçı bitiriyoruz.

Yorum Gönder

Daha yeni Daha eski