Ders Öğretim Planı

Ders Kodu Ders Adı Ders Türü Yıl Dönem AKTS
BTÖ312 A Seçmeli II (Oyun Programlama) 927003 3 6 4

Dersin Amacı

Bu dersin amacı, öğrencilere basit oyun programlarının nasıl yazıldığını ve oyun yazılırken hangi araçların kullanılabileceğini öğretmektir. Bu bağlamda öğrencilere Python programlama dilinin PyGame eklentisi kullanılarak, basit oyunların nasıl yazılabileceğini öğretmek ve öğrencilerin basit oyunları proje olarak hazırlamasını sağlamaktır.

Ön Koşul Dersleri

Python programlama dilini bilmeli

Önerilen Diğer Hususlar

Yok

Ders Kitabı / Malzemesi / Önerilen Kaynaklar

Başer, M. (2013) Python Dikey Eksen Yayınları http://www.pygame.org/

Dersin Sunulduğu Dil

Türkçe

Staj Durumu

Yok

Dersin İçeriği

Python programlama dilindeki PyGame eklentisi kullanılarak önce basit çizimler yaptırılır, daha sonra cisimlerin nasıl hareket ettiği öğretilir. Bundan sonra basit oyunlar hazırlanır. Dönem boyunca oyunlar yazılırken kullanılacak teknikler anlatılır.

Değerlendirme

# Etkinlikler Adet Yuzde Katkısı Yarıyıl İci Etkinlik Yıl Sonu Etkinlik
90 Yarıyıl (Yıl) İçi Etkinlikleri 0 40
91 Yarıyıl (Yıl) Sonu Etkinlikleri 0 60
5 Derse Katılım 13 10 1
6 Uygulama/Pratik 13 30 1
22 Proje Hazırlama 1 60 1
40 Proje Hazırlama 1 90 1
41 Proje Sunma 1 10 1

Ders İş Yükü Verisi

# Etkinlikler Adet Süresi(saat) Toplam İş Yükü(saat)
5 Derse Katılım 12 2 24
6 Uygulama/Pratik 12 1 12
7 Laboratuvar 12 2 24
22 Proje Hazırlama 2 10 20
29 Bireysel Çalışma 8 1 8
31 Ödev Problemleri için Bireysel Çalışma 6 2 12

Haftalık Ders İçeriği

Hafta Teorik Uygulama Laboratuar Ders Notları
1 Oyun programlmama nedir? Bizim için neden önemli? Oyun programları hangi araç veya diller ile hazırlanabilir? Python için oyun programı yazma eklentileri. PyGame'in özellikleri. PyGame'in indirilmesi ve kurulması.
2 Pencere oluşturma. Renkler. Pencere başlığı, arka plan rengi. Pencere üzerinde geometrik şekillerin çizilmesi (doğru, dörtgen, daire).
3 Şekillerin hareket ettirilmesi. Hareketin durudurulması. Pencere sınırına geldiğini algılama. Hareketin yönünü değiştirme. Bir şeklin pencere içinde bir doğru boyunca gidip gelme hareketinin yaptırılması. Şeklin pencerenin etrafında döndürülmesi.
4 Resim ekleme. Bir topun pencere içerisinde kalacak şekilde duvarlara çarptığında rastegele açı ile yansımasını sağlama.
5 Şekli kullanıcı tepkilerine göre hareket ettirme. Sol, sağ, üst ve alt ok tuşları kullanarak şekli istenilen yönde hareket ettirme. Bir çizimin diğer diğer çizim ile çarpışmasını algılama. 4. hafta ile birleştirerek pin-pon oyunun yapma.
6 Bombman oyunu yapma
7 Hafıza oyunu yapma: Bir pencereye resimler çifter olarak yapıştırılır ve üzeri kapatılır. Kare üzerine tıklandığında, resim 1 saniye gösterilir ve tekrar kapatılır. Eğer üst üste iki tıklamada aynı şekil bulunmuşsa bunların üzeri açılır. Benzer şekilde tüm çiftler açıldığında oyun biter.
8 Hafıza oyunu yapma: Bir pencereye resimler çifter olarak yapıştırılır ve üzeri kapatılır. Kare üzerine tıklandığında, resim 1 saniye gösterilir ve tekrar kapatılır. Eğer üst üste iki tıklamada aynı şekil bulunmuşsa bunların üzeri açılır. Benzer şekilde tüm çiftler açıldığında oyun biter.
9 Arasınav için projesine başar
10 Ara Sınav: Projesini bitirir ve teslim eder
11 Kaydırma Oyunu: Bir resim 9 parçaya bölünür ve pencereye yapıştırılır. Son kare (sağ alt köşe) çıkartılır. Parçalar kaydırılarak resmin bütünlüğü bozdurulur. Daha sonra oyuncu bu parçaları tekrar kaydırarak resmin bütünlüğünü sağlamaya çalışır.
12 Yılan Oyunu: Pencerede üç karenin hareket ettirilmesi ile yılan hareketi sağlanır. Yem yiyen yılanın boyu uzar.
13 Tetris Oyunu: Tetris oyunun basit hali yapılır
14 Final projesine başlar

Dersin Öğrenme Çıktıları

# Öğrenme Çıktı Id Açıklama
1 1199983 PyGame'de basit çizimleri (doğru, kare, daire) yaptırabilir
2 1200578 PyGame'de nesneleri hareket ettirebilir
3 1201410 PyGame'de basit oyunları tasarlar ve yazar
4 1201537 PyGame'da basit eğitsel animasyonları tasarlar ve yazar
5 1201712 PyGame kullanarak kendi özgün oyununu yazabilir

Bölüm Program Çıktıları

# Program Çıktı Id Açıklama
1 63209 Teknolojideki yenilikleri eğitim ortamlarına nasıl adapte edeceğini bilir.
2 63210 Öğretimi analiz eder, tasarlar, geliştirir, uygular ve değerlendirir.
3 63202 Var olan kaynaklardan en iyi şekilde nasıl faydalanacağını bilir.
4 63208 Öğretim materyalleri geliştirir.
5 63203 Teknolojik açıdan zengin ortamlar kadar sadece kara tahtanın olduğu ortamlarda da çalışmayı öğrenir.
6 63204 Profesyonel öğretme, iletişim ve iş birliği becerileri gösterir.
7 63207 Eğitsel yazılımlar, oyunlar, vb. tasarlar ve geliştirir.
8 63206 Öğretim materyallerindeki iyi ve kötü tasarımı ayırt eder.
9 63205 Var olan bilgileri uygun yerlere yerleştirerek, yöneterek ve kullanarak öğretim problemlerini çözebilir.