Ondokuz Mayıs Üniversitesi Bilgi Paketi - Ders Kataloğu

Ders Öğretim Planı

Ders KoduDers AdıDers TürüYılYarıyılAKTS
BTÖ312 A Seçmeli II (Oyun Programlama) 927001 3 6 4
Dersin Seviyesi
Lisans
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.
Dersin Veren Öğretim Görevlisi/Görevlileri
Öğrenme Çıktıları
  1. PyGame'de basit çizimleri (doğru, kare, daire) yaptırabilir
  2. PyGame'de nesneleri hareket ettirebilir
  3. PyGame'de basit oyunları tasarlar ve yazar
  4. PyGame'da basit eğitsel animasyonları tasarlar ve yazar
  5. PyGame kullanarak kendi özgün oyununu yazabilir
Öğrenim Türü
Birinci Öğretim
Ön Koşul Dersleri
Python programlama dilini bilmeli
Önerilen Diğer Husular
Yok
Ders Kitabı / Malzemesi / Önerilen Kaynaklar
Başer, M. (2013) Python Dikey Eksen Yayınları
http://www.pygame.org/
Planlanan Öğrenme Aktiviteleri ve Metodları
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.
Haftalık Ders İçeriği
Hafta Teorik Uygulama Laboratuar
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
Değerlendirme
Yarıyıl (Yıl) İçi EtkinlikleriAdetKatkı (%)
Derse Katılım1310
Uygulama/Pratik1330
Proje Hazırlama160
Toplam580
Yarıyıl (Yıl) Sonu EtkinlikleriAdetKatkı (%)
Proje Hazırlama190
Proje Sunma110
Toplam100
Yarıyıl (Yıl) İçi Etkinlikleri40
Yarıyıl (Yıl) Sonu Etkinlikleri60
Toplam100
İş Yükü Hesaplaması
EtkinliklerAdetSüresi(saat)Toplam İş Yükü(saat)
Derse Katılım12224
Uygulama/Pratik12112
Laboratuvar12224
Proje Hazırlama21020
Bireysel Çalışma818
Ödev Problemleri için Bireysel Çalışma6212
Toplam100