JavaScript

JavaScript Buton Yakalama Oyunu

 

JavaScriptte koordinat kullanarak buton yakalama oyunu oluşturacağız. Fare ile üzerine gelindiğinde yerini değiştirmesini sağlayan ve yakalandığında ekrana uyarı verecek şekilde iki ayrı fonksiyon oluşturacağız. Daha sonrasında sayaç koyup kaç seferde yakalandığını hesaplayacağız.

 

 

HTML: Öncelikle yakalamaya çalışacağımız butonu oluşturuyoruz ve id veriyoruz.

 

JavaScript: Oluşturduğumuz butonun “id” si ile butonu bir nesne haline getirip değişken içerisine atıyoruz.

 

 

Nesneye “.onmouseover” (yani fare üzerine geldiğinde) olayını atıyoruz ve fonksiyon oluşturuyoruz. Fonksiyon içerisinde “xpos” ve “ypos” olarak iki ayrı değişken tanımladık.  “xpos” x eksenini, “ypos” ise y eksenini karşılıyor. Kutuyu yakalarken bir yerlerde rastgele belireceği için “Math.random” kullanıyoruz ve ekran genişliğine/yüksekliğine göre aralık belirliyoruz. Burada genişliği 0-1000, yüksekliği 0-800 olarak ayarladık. “parseInt” ile de ondalık kısımlar kurtulduk.

Daha sonra nesneye x ve y eksenlerini atıyoruz. Soldan ve yukarıdan ayarladık ama sağdan ve aşağıdan da ayarlanabilir. Lakin sağdan ve soldan ayarlarsak bu sefer garip bir görüntüyle karşılaşırız.

Bu fonksiyonun içerisindeki son işlemler ise buton yakalanamadığında genişlik ve yükseklik değerlerinin her seferinde 10px artması. Bunları “this” ile yapıyoruz. “this” aktif olan nesneye müdahale etmek için kullanılıyor. “clientWidth” ve “clientHeight” ifadeleri ise neye müdahale ettiğimizi gösteriyor.

 

İkinci fonksiyonda ise buton yakalandığında işlenecek kodları yazıyoruz. Ekrana “window.alert” ile uyarı verdiriyoruz ve genişlik/yükseklik değerlerinin eski haline gelmesini sağlıyoruz.

 

 

CSS: Nesnenin sayfa üzerinde bağımsız hareket edebilmesi için “position:absolute” olması zorunludur. Yoksa buton hareket edemez. Yükseklik/genişlik değerlerini ayarlıyoruz ve arka plan rengi ekliyoruz.

 

Son olarak kaç seferde yakaladığımızı hesaplamak için ilk fonksiyondan önce bir sayaç tanımlıyoruz. İçinde tanımlamamızın nedeni kutu her kaçırdığımızda sayaç tekrar tanımlanacak ve her seferinde değer sıfır olacak.

 

Kodları toparlayacak ve sayacı ekleyecek olursak son hali şöyle olacaktır;

1 Yorum

Hayri için bir cevap yazın X