Algoritma ve Programlama II Dersi Proje Ödevi 1. Proje Ödevi için Sizlerden OpenGL kullanarak Yılan oyunu yapmanız istenmektedir. yilan yem Yılan 20 birimlik karelerden oluģmaktadır.
Kuyruğun sonuna yeni bir kutu ekler Yem için yeni bir konum belirler. Yılan hiçbir yere çarpıyor mu? Çarpıyorsa true çarpmıyorsa false döndürür. Ayrıca yem ile çarpışıyor mu çarpışıyorsa kuyruğa yeni bir kutu ekle ve yemi yenile Ödevin main fonksiyonu http://www.kayhanayar.com/dersler/algoritma2/odevler/bin/proje_main.cpp Ödevin Çalıştırılabilir Dosyası aşağıdaki linkten indirilebilir. http://www.kayhanayar.com/dersler/algoritma2/odevler/bin/proje.zip ÖDEVİN SON TESLİM TARİHİ : 07.05.2013 SAAT 17:30
UYULMASI GEREKEN KOD DÜZENĠ Her C++ dosyasının baģında aģağıdaki yorum bloğu bulunacaktır. Yorum bulunmayan her C++ dosyası için 10 puan kırılacaktır. (pdf üzerinden kopyalayıp yapıģtırmanız problem çıkartabilir) /**************************************************************************** ** SAKARYA ÜNĠVERSĠTESĠ ** BĠLGĠSAYAR VE BĠLĠġĠM BĠLĠMLERĠ FAKÜLTESĠ ** BĠLGĠSAYAR MÜHENDĠSLĠĞĠ BÖLÜMÜ ** ALGORĠTMA VE PROGRAMLAMA II DERSĠ ** ** ÖDEV NUMARASI...: ** ÖĞRENCĠ ADI...: ** ÖĞRENCĠ NUMARASI.: ** DERSĠN ALINDIĞI GRUP: ** ****************************************************************************/ DeğiĢken isimleri anlamlı olmalıdır. Örneğin tek sayı adedini tutacak bir değiģken için yerine yazılmalıdır. int a; int TekAdedi; Her bir küme parantezinin altındaki kodları yazmadan önce tab tuģuna basılarak boģluk bırakılmalıdır. if(true) int a =6; printf("merhaba"); if(false) printf("nasilsin"); if(true) int a =6; printf("merhaba"); if(false) printf("nasilsin"); Her döngü ve koģul iģlemlerinden önce yapılan iģlem hakkında yorum yazılmalıdır int t = 0; for(int i=0;i<100;i++) t+=i; int Toplam = 0; //1 den 100 e kadar olan sayılar toplanıyor for(int i=0;i<100;i++) Toplam+=i; Fonksiyon gövdelerinin üstüne aģağıdaki gibi yorum blokları bulunmalıdır. /* Bir sayının istenen üssünü hesaplar. (Sadece pozitif sayılarda çalışır.) @Param taban üstü alınacak olan sayı @Param ust tabanın alınacak üst değeri. Negatif girilmemelidir. @return ust alma işleminin sonucu döndürülür. */ int ustal(int taban,int ust) int sonuc = 1; for(int i=0;i<ust;i++) sonuc*=taban; return sonuc;
Ödev Teslim Kuralları KURAL 1 main fonksiyonunun bulunacağı dosyanın ismi aģağıdaki gibi olacaktır. Ödevi birden fazla öğrenci teslim ediyorsa. Öğrenci numaraları arasına _ konarak iki numara birden yazılmalıdır. Dosya ismi: ÖğrenciNumarası_proje. cpp KURAL 2 Projeyi derleyebilecek bir Makefile dosyası oluģturulmalıdır. Programın derlenmesi ile oluģacak dosyanın ismi aģağıdaki gibi olmalıdır. proje KURAL 3 Ödev dosyaları zip dosya formatı ile sıkıģtırılmalı ve sıkıģtırılan dosyanın ismi aģağıdaki kurala uymalıdır. Birden fazla ödev yollayan öğrenci için Dosya Ġsmi: ÖğrenciNumarası_proje.zip Öğrenci numarasının 0001.10002 olduğunu ve 1.ödevi teslim edildiğini düģünelim. Gönderilecek dosyanın ismi b000110002_odev1.zip AĢağıda ödevde bulunması gereken klasörler ve bu klasörler içerisindeki dosyalar gösterilmiģtir. KURAL 4 Kutu sınıfı Sekil sınıfından kalıtım almak zorundadır ve Sekil sınıfına kesinlikle dokunulmayacaktır. Kutunun çizilmesi için sadece ciz fonksiyonu çağrılacaktır. İnternetten Kod alınması kesinlikle yasaktır. Sunum esnasında kodunuzu anlatmanız istenecektir.
KURAL 4 Derleme için mingw C++ derleyicisi kullanılacaktır. Dosya isimlerinde yapılan hatalar her dosya için 10 puan kırılmasına sebep olacaktır. Zamanında teslim edilmeyen ödevden 0 puan alınacaktır. KURAL 5 Ödevler mail yoluyla teslim edilecektir. Ödev iki kişi tarafından teslim edilir ve bu kişlerin grupları farklı ise projeyi sadece bir grubun mailine atmaları yeterlidir. GRUP 1.Öğretim A Grubu 2.Öğretim A Grubu 1.Öğretim B Grubu 2.Öğretim B Grubu 1.Öğretim C Grubu 2.Öğretim C Grubu 1.Öğretim D Grubu 2.Öğretim D Grubu Karma Öğretim A Grubu Karma Öğretim B Grubu TESLİM EDİLECEK MAİL Algoritma1a@gmail.com Algoritma2a@gmail.com Algoritma1b@gmail.com Algoritma2b@gmail.com Algoritma1c@gmail.com Algoritma2c@gmail.com Algoritma1d@gmail.com Algoritma2d@gmail.com Algoritma3a@gmail.com Algoritma3b@gmail.com KOD PAYLAġMAK YASAKTIR Ödevler bireyseldir ve verilen bütün ödevler karģılaģtırılacaktır. Birbirine çok benzeyen ödevler kopya muamelesi görecektir. Bu tür ödevleri teslim edenlerin hepsi 0 alacaktır. Kesinlikle kod paylaşımı yapılmamalıdır. Ödev mail yoluyla teslim edildikten sonra projeyi yapanlar iki kişilik bir jüri karşısına çıkıp ödevlerini anlatacaktır. Eğerki ödevi yapanlardan herhangi birisi sorulara cevap veremezse bunun sonucu iki öğrencinin de sonucuna yansıyacaktır. Bu sebeple ekip kurulacaksa ekip arkadaşınızı dikkatli seçmeniz ve beraber çalışmanız gerekmektedir. Ödevi iki kişilik bir grup halinde de yapılabilmektedir. Ama tavsiyemiz tek başınıza yapmanız yönündedir.