Merhaba arkadaşlar, bu yazımda DrRacket ile yukarı yön tuşuna basıldığında ortada bulunan bir karenin büyüklüğünü 5 birim büyüten, aşağı yön tuşuna basıldığında ise 5 birim küçülten basit bir uygulama yapacağız.
Öncelikle (require 2htdp/universe) yazarak gerekli olan kütüphaneyi ekliyoruz. Bu kütüphaneyi klavyeyi okumak için kullanacağız.
Daha önce geometrik çizimlerin örneklerini anlatmıştım okumak için buraya tıklayabilirsiniz.
Direkt olarak kodunu verip daha sonra anlatımını ekleyeceğim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
(require 2htdp/universe) (define (kareCiz n) (overlay (square n "solid" "red") (empty-scene 500 500) ) ) (define (artirAzalt w k) (cond [(key=? k "up") (+ w 5)] ; klavye [(key=? k "down") (- w 5)] ;klavye ) ) (big-bang 5 [to-draw kareCiz] [on-key artirAzalt] ) |
İlk olarak kareciz isimli n parametresini alan bir fonksiyon oluşturduk.
square = kare çizmek için gerekli fonksiyon.
empty-scene ise boş bir alan oluşturmak için kullandık.
artirAzalt ise bir w bir de k parametresi alan bir fonksiyondur. Buradaki k klavyeden gelen yönerge, w ise karenin yeni boyutudur.
bing-bang fonksiyonu ise kütüphanemizden gelen bir fonksiyondur. Büyük patlama anlamına gelen bu fonksiyon aslında sürekli bizim oluşturduğumuz alanın güncellenmesi için kullanılmaktadır.
Buraya 5 değerini oluşturduğumuz ilk karenin kenarının 5 birimden oluşmasıdır. Daha sonra oluşturduğumuz parametreleri çağırıyoruz.
Sonuç aşağıdaki gibi olacaktır.
Umarım faydalı olmuştur..