PyGame Zero ile Oyun Programlıyorum
PyGame Zero ile Oyun Programlıyorum videolarıyla siz de Python tabanlı bir oyun geliştirme ortamı olan PyGame Zero ile kendi oyununuzu yapabilirsiniz.
Günümüzde ilköğretimden ortaöğretime, üniversite öncesinde birçok seviyede kodlama eğitimi veriliyor. Kodlama eğitimi gençlerin problem çözme, soyut ve algoritmik düşünme gibi üst düzey bilişsel becerilerini geliştirmelerine yönelik verimli bir ortam sunuyor.
TÜBİTAK’ın gençlere yönelik dijital popüler bilim yayını Bilim Genç olarak, PyGame Zero ile Oyun Programlıyorum isimli video serisi ile temel olarak ortaokul ve lise seviyesindeki öğrencilerin, bilgisayar bilimine giriş yapmalarını sağlarken, üst düzey bilişsel becerilerini geliştirmelerine katkı sağlamayı hedefliyoruz. PyGame Zero, Python tabanlı bir oyun geliştirme ortamı. Sadece öğrencileri değil her yaştan katılımcıyı da video serisine dâhil olmaya davet ediyoruz.
0. Mu Editörü Kurma
Giriş bölümünde PyGame Zero’da oyun programlayabilmemiz için gerekli olan Mu editör uygulamasının nasıl kurulacağını anlatıyoruz.
1. Sahne Oluşturma, Arka Plan Rengi Belirleme ve Oyun Karakteri Ekleme
Birinci bölümde oyun programlamanın ilk aşamalarından biri olan, oyunun oynandığı sahneyi ve bu sahnenin renginin nasıl oluşturulacağı ile oyun karakterinin nasıl ekleneceğini anlatıyoruz.
2. Oyun Karakterini Hareket Ettirme
İkinci bölümde oyun karakterimizin ekranda hareket etmesini sağlıyoruz.
3. Oyun Karakteri ile Animasyon Yapma
Üçüncü bölümde oyun karakterimizin yukarı-aşağı ve sağa-sola hareket ettiği basit bir animasyon oluşturuyoruz.
4. Oyun Karakterini Klavye Tuşları ile Hareket Ettirme
Dördüncü bölümde oyun karakterimizin hareketini tuşlar yardımıyla kontrol etmeyi öğreniyoruz.
5. Oyun Karakterinin Görünümünü Değiştirme ve Oyuna Ses Ekleme
Beşinci bölümde oyun karakterimizin görünümünü değiştiriyoruz ve oyuna ses ekliyoruz.
6. Oyun Karakterleri Arasında Çarpışma Kontrolü
Altıncı bölümünde oyun karakterleri arasındaki çarpışmaları nasıl kontrol edebileceğimizi öğreniyoruz.
7. Oyuna Puan Ekleme
Yedinci bölümde oyuna nasıl puan ekleneceğini anlatıyoruz.
8. Oyun Karakterinin Konumunu Rastgele Değiştirme
Sekizinci bölümde oyun karakterlerinin konumunu rastgele değiştirmeyi öğreniyoruz.
9. Bölüm: Animate Fonksiyonu ile Kuklayı Hareket Ettirme
Sekizinci bölümde ilk oyunumuzu tasarlamak için gerekli temel bilgileri öğrenmiştik. Bu bölümde ise animate fonksiyonu ile oyun karakterinin ekrandaki konumunu değiştiriyoruz.
10. Bölüm: Animate Fonksiyonunu Süre ile Birlikte Kullanma
Dokuzuncu bölümde animate fonksiyonunu kullanarak uzay aracının ateş etmesini sağlamıştık. Bu bölümde ise animate fonksiyonunu süre ile birlikte kullanarak oyunumuzda uzay aracının birden fazla kez ateş etmesini sağlıyoruz.
11. Bölüm: Sıralı n'liler ile Basit Bir Animasyon Yapma
Bu bölümde sıralı basit bir animasyon yaparak sıralı n’lilerin işlevlerini öğreniyor ve oyun karakterine yürüme efekti veriyoruz.
12. Bölüm: Ekranın Üstünden Düşen Ödüller
Bu bölümde birçok platform oyununda karşılaştığımız bir işlevin nasıl oluşturulabileceğini öğreniyor ve yukarıdan düşen ödül animasyonu oluşturuyoruz.
13. Bölüm: Uzay Aracından Birden Fazla Lazer ile Ateş Etme
Geçmiş bölümlerde uzay aracından ateş ederken ekranda aynı anda birden fazla lazerin görünmediğini gözlemlemiştik. Bu bölümde uzay aracından birden fazla lazer ile nasıl ateş edebileceğimizi öğreniyor ve harflerin rastgele değiştiği bir animasyon hazırlıyoruz.
14. Bölüm: Kart Eşleştirme Oyunu Hazırlama: Kartları Ekranda Gösterme ve Kartları Karıştırma
"While" döngüsünü ve fonksiyonları kullanarak bir kart eşleştirme oyunu hazırladığımız bu bölümde kartları ekranda göstermeyi ve ekrana tıklandığında kartları karıştırmayı öğreniyoruz.
Kart görselleri için tıklayın.
15. Bölüm: Kart Eşleştirme Oyunu Hazırlama: Tıklanan Kartı Bulma
Fonksiyonları, "random.shuffle" metodunu ve iç içe döngüleri kullanarak kart eşleştirme oyunu hazırlamaya devam ettiğimiz bu bölümde tıklanan kartı bulmayı öğreniyoruz.
16. Bölüm: Kart Eşleştirme Oyunu Hazırlama: Ekranda Listelenen İki Kartı Seçme
"schedule_unique" metodunu kullanarak kart eşleştirme oyununu tamamladığımız bu bölümde ekranda listelenen iki kartı seçmeyi öğreniyoruz.
Kaynak kod için tıklayın.
17. Bölüm: Uzay Gemisi Oyunu Hazırlama
On yedinci bölümde, uzay gemisi ile karşımıza çıkan gök taşlarını vurarak puan toplamaya çalıştığımız basit bir oyun hazırlıyoruz.
18. Bölüm: Uzay Gemisi Oyununu Geliştirme
On sekizinci bölümde, uzay gemisi oyununa uzay gemisinin görselini değiştirme ve aynı anda iki lazer ile ateş etme gibi farklı özellikler ekleyerek oyunumuzu geliştiriyoruz.
19. Bölüm: Uzay Gemisi Oyununa Farklı Özellikler Ekleme
PyGame Zero ile Oyun Programlıyorum video serisinin son bölümünde uzay gemisi oyununa bonus puan alma, daha hızlı ateş etme ve arka planı değiştirme gibi özellikler eklemeyi öğreniyoruz.
Kaynak kod için tıklayın.
İçerik Geliştirme:
Bolu Abant İzzet Baysal Üniversitesi Bilgisayar ve Öğretim Teknolojileri Eğitimi Bölümü Öğretim Üyesi
Ondokuz Mayıs Üniversitesi Bilgisayar ve Öğretim Teknolojileri Eğitimi Bölümü Öğretim Üyesi
Seslendirme:
Bolu Abant İzzet Baysal Üniversitesi Müzik Eğitimi Bölümü Araştırma Görevlisi
Türk Dili ve Edebiyatı Öğretmeni
Grafik ve Animasyon:
Ondokuz Mayıs Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi