Sayfalar

30 Mart 2017 Perşembe

Gol Oyunu - 10 Gol Atan Kazanır(Haber Sal)


Merhaba sevgili öğrencilerim. Gol oyununu hazırladık. Skor bilgisinin oluşturulmasını sağladık. Bunu değişken oluşturarak yapmayı başardık. Hatırlayacağınız gibi değişken, skor bilgisi gibi program çalışırken değeri değişkenlik gösterecek her şeyi tanımlamak için oluşturduğumuz bir koddu.
(Gol oyununu - skor oluşturma ile ilgili yazıya ulaşmak için tıklayınız.)

Bugün ise "Haber sal" komutu ile olayların gerçekleşme durumuna göre istediğimiz kodların çalışmasını sağlayacağız. Mesela teneffüs zili bir haberdir. Bu haber geldiğinde öğrenciler derse girer. Ders zili de bir haberdir. Bu haber geldiğinde öğrenciler derse girer. "Haber sal" komutu aynen örneğimizde olduğu gibi istediğimiz bir durumun gerçekleşmesi halinde nelerin yapılacağını düzenlememizi sağlar. Daha fazla sözü uzatmayıp örneğimize geçelim.
(Değişken ve Haber Sal komutlarının anlatımı ile ilgili yazıya ulaşmak için tıklayınız.)

Bizim skor bilgisini aklında tutan ve dilediğimiz kadar oynayabildiğimiz oyununda topun kodları şöyle olmalıydı.
Yazdığımız kodlarda:
1. Grup: Oyunun en başında skor bilgilerinin sıfırlanmasını ve topun oyunun başında rastgele bir yöne dönerek topun ekranda sürekli hareket etmesini sağlar.
2. Grup: Topun kalecilere temas etmesi halinde rakip kaleye doğru yönelmesini sağlar.
3. Grup: Topun kale ile temas etmesi halinde topun orta sahadan rastgele bir yöne doğru hareket etmesini ve gol atan tarafın skor bilgisinin 1 artmasını sağlar. 
(Not: Yönüne dön kodunda üretilen sayılar dairenin iç açılarına göre düşünülerek yazılmıştır.)

Kodlarımızı buraya kadar doğru bir şekilde oluşturduysak şimdi 10 gole ulaşan kişinin oyunu kazanmasını sağlayacak kodları eklemeye başlayabiliriz.

Öncelikle "Haber gelince" kodunu ekleyelim ve gol olması durumunda ne yapmasını istiyorsak bu kodun altına yazmaya başlayalım.

Tamam butonuna tıkladığımızda "Kırmızı Gol" adında bir haber oluşturmuş olacağız. Kırmızı takım gol attığında, kırmızı skor bilgisi 1 artacak top orta sahadan tekrar rastgele bir yöne doğru hareket edecek. Siyah takımın gol attığında çalışacak kodları da aynı şekilde oluşturabiliriz.

"... haberi gelince" kodunu ekledik fakat haberin gelmesi için bir çalışma yapmadık. Olaylar sekmesinden "kırmızı gol haberini sal" kodunu topun siyah kaleye temas etmesi halinde çalışacak olan kodların içerisine ekleyelim. Ve bu kodun içerisine daha önce eklediğimiz tüm kodları silelim. Aynısını siyah takım için de yapalım. İşlemleri doğru bir şekilde yaptığımızda kodlarımız şu şekilde olacaktır.

Şu ana kadar 10 gol sınırı ile ilgili bir işlem gerçekleştirmedik. Sırada bu sorguyu nasıl yapacağımız var.  Bir şeyin durumunu sorgulamak için "Eğer" kodunu kullanıyorduk. Şimdi "Eğer ise - değilse" kodunu kullanarak bir şeyin iki farklı durumu için yapılacak kodları yazacağız. 
Yukarıdaki görselde kodları nasıl eklememiz gerektiğini görmüş olduk. Şimdi uygulamasını yapalım. İlk olarak "eğer ise- değilse" kodunu ekleyelim. İlk yapmamız gereken skor bilgisinin sayısal durumunu sorgulamak. Bunun için işlemler sekmesinden bir eşitlik alıp içerisine veri sekmesinden kırmızı değişkenini sürükleyeceğiz. Karşısına kaç golde bitmesini istiyorsak onu yazacağız. Biz 10 golde bitecek şekilde düzenleme yapacağız. 
"Kırmızı Gol" haberi kırmızı takımın gol atması durumunda çalışacak kodların yazıldığı bir koddu. Gol olduktan sonra kırmızı takım 10 gole ulaştı ise "Kırmızı kazandı" yazısını ekranın ortasına yazdırıp oyunun durmasını sağlamalıyız. Ulaşmadı ise gol olduktan sonra top orta sahadan rastgele bir yöne hareket etmeli. Bunu yapmak için gerekli kodları daha önce farklı oyunlarda yazmıştık. Şimdi hepsini bir arada yazmış olacağız.

Bu kodları da doğru bir şekilde eklediğimizde oyunda düzeltilmesi gereken iki nokta var. Bunlardan bir tanesini ben söyleyeceğim. Oyun bu hali ile skor 10 olduğunda değil 11 olduğunda bir takımın kazanmasını sağlıyor. Bu hatanın nasıl düzeleceğini bulmanızı istiyorum. Diğer hatayı ise rahatlıkla bulabileceğinizi düşündüğüm için size bırakıyorum. Bakalım hatalarından arındırılmış bir şekilde kimler oyunumuzu hazırlayabilecek?

Hiç yorum yok:

Yorum Gönder