Hafta 6 - Grup Çalışması Egzersizleri
Klavye ve mouse olayları
Başlangıç Kodları
Buraya tıklayarak problemlere ait başlangıç kodlarına ulaşabilirsiniz.
Egzersiz 1
Grup liderlerimiz farklı oranlarda ve büyüklüklerde oval şekilleri kullanarak elektronik sanat eserleri oluşturmak istiyorlar, bu konuda onlara yardımcı olacak bir program yazalım.
Sanat eserimizi 800’e 600 birimlik siyah bir kanvas üzerine mause’la tıkladığımız
yerleri merkez olarak alan, rastgele renklerde ovaller çizerek oluşturacağız. Eserimizde
geometrinin gücünü kullanmak için çizdiğimiz ovallerin eninin mouse’la tıkladığımız x
koordinatının yarısı, boyununsa mouse’la tıkladığımız y koordinatının yarısı kadar olmasını
istiyoruz. Ovallerin renklerini rastgele seçmek için hazır olarak verilen rastgele_renk_sec()
fonksiyonunu kullanabiliriz.
Tamamlamamız gereken adımlar:
- Kanvasın arkaplan rengini siyah yapmak (Black).
- Kanvasın mausea basıldığında
oval_ciz
fonksiyonunu cağırmasını ve güncellenerek yeni değişiklikleri göstermesini sağlamak. oval_ciz
fonksiyonunu doldurmak.
Örnek bir sanat eseri aşagıdaki gibi olacaktır:
Egzersiz 2
Bu egzersizde 2000’lerin klasik oyunu Snake (Yılan) gibi bir oyun yazacağız. Yem ve top oluşturan
fonksiyonları başlangıç kodunda verdik.
yem_olustur
kanvasta rastgele bir konumda yem (kırmızı bir oval) oluşturur.
topu_olustur
kanvasın tam ortasında mavi bir top oluşturur.
Sizin göreviniz animasyon boyunca kullanıcının klavye hareketlerini kontrol ederek topun basılan tuş yönünde hareket etmesini sağlamak. ‘ ‘yem_olusturfonksiyonunu kullanarak
YEM_SAYISI` kadar yem oluşturun. Unutmayın oluşturduğunuz yemleri ileride kullanacaksınız.topu_hareket_ettir(kanvas, top)
fonksiyonundakanvas.get_new_key_presses()
kullanarak topuTOP_HIZ
birim kadar hareket ettirin.w
yukarı,a
sol,s
aşağı ved
de sağ yönde hareketi temsil eder.- Topun yediği yemleri bulun ve ekrandan kaldırın.
ipucu:kanvas.find_overlapping
fonksiyonunu kullanabilirsiniz. - Tüm yemler bittiğinde kanvastaki bütün objeleri kaldırın ve tebrik mesajı görüntüleyin.
Egzersizin bitmiş hali tek yem ile aşağıdaki videodaki gibi çalışmalı:
Buraya tıklayarak egzersizin tamamlandığında nasıl görüneceğini izleyebilirsiniz.
Ekstra 1
Burak, bebek kardeşini eğlendirmek için bir kod yazmak istiyor. İyice düşündükten sonra kardeşini en çok eğlendiren oyuncaklarının hep bir tuşa basıldığında renkler çıkaran oyuncaklar olduğunu fark ediyor. Kardeşinin ismi de Gökçen olduğu için baş harfi olan G’ye basıldığında kanvasa renkli bir şekil koyan bir kod yazmaya karar veriyor.
Hadi Burak’a yardımcı olalım.
Tamamlamamız gereken adımlar:
Bu alıştırmada grafik kütüphanesini kullanarak kanvas üzerine;
- Rastgele renkte ve yerde OVAL çıkaran,
- Rastgele renkte ve yerde DIKDORTGEN çıkaran bir kod yazacağız.
Bunun için aşağıda açıklamaları verilen dört fonksiyonu kullanmamız gerek.
rastgele_renk_sec()
fonksiyonunu sizin için önceden tanımladık. Sizin göreviniztopcuk_yarat(renk)
,kutucuk_yarat(renk)
verastgele_topcuk_cikar(key)
fonksiyonlarını tanımlamak tabii ki son adımda görevimizimain()
‘in içinde tamamlamayı unutmayın! ipucu: Bu egzersizde grafik kütüphanesinde yer alanset_on_key_pressed
fonksiyonunu kullanabiliriz.