slm arkadaslar
asagıda yazılı olan proje ile ilgili bana kod gönderebilirmisiniz?Yazılmış örnek kodda olabilir.
Projenin Amacı : C, Pascal ile Grafik Uygulaması Geliştirme
Projenin Açıklaması : C ya da Pascal programlama dillerinden birini kullanarak grafik ekranda oyun geliştirilmesi.
Ekranda belirli sayıda bina olacak, bina genişlikleri sabit olacak fakat uzunlukları belirli bir uzunluğa kadar rasgele olacak. Mesela ekran yüksekliğinin ¾’ü kadar azami uzunluk alınacak, bu azami uzunluğa göre binalar rasgele uzunluklarda olacak.
Bu binalardan ikisi üzerinde iki insan olacak. Bu insanlar birbirlerine bomba atarak vurmaya çalışacaklar. Vuran insan oyunun bir setini kazanacak. Oyun 3 set üzerinden oynanacak. En az 2 set alan insan oyunu kazanmış olacak.
Kullanıcı tarafından bombaları atmak için bir atış yönü ve hızı belirlenecek.
Ortamda önceden belirlenecek azami değere kadar değeri rasgele seçilen ve yönü de sağ-sol olacak şekilde rasgele seçilen bir rüzgar etkisi olacak. Her kullanıcı sıra(el) değişiminde rüzgar yönü ve hızı değişecek.
Kullanıcının verdiği hız miktarı-yönü ve ortamdaki rasgele oluşan rüzgar miktarı-yönü, bileşke alınarak bombanın hız ve yönü olacak. Fakat zamanla hızın azalmasından dolayı atış düz bir atış olmayacak ve zamanla eğimini ya da yönünü değiştirebilecektir. Bu durumda beklenen atışın simüle edilmesidir. (Bunu kendinize göre yapacaksınız.Genel bir algoritma önerilmiyor.)
Bomba insanların haricinde binalara çarptığında orada önceden belirlenen çap içinde bir hasara yol açacak. Bu durum oyunda simüle edilecek. (Bunu kendinize göre yapacaksınız.Genel bir algoritma önerilmiyor.)
Bir önceki atıştan geriye kalan hız ve yön aynen kalacak. Sıra(el) tekrar ilgili kullanıcıya geldiğinde bu ayarlara göre düzenleme yapacak. Her seferinde başlangıç konuma dönmeyecek.
Hız değeri üst-alt ok tuşları ile arttırılıp azaltılacak, yön ise sağ-sol ok tuşları ile değiştirilecek.
Ayarlanan hız değeri, ilgili insanın bulunduğu kenarda ekranın sol ya da sağ üst kısmına yazılacak. Rüzgar değeri ise ekran en üst ortasına değer ve yön olarak ekrana yazılacak.
Atılan bombanın hızı-yönü, rüzgarın hızı-yönüne göre yapılan hesaplarda atılan bomba ekran dışına taşarsa; bu durumda eğer bomba görünen ekran içine dönme ihtimali varsa o zaman bomba ekranda gözüküp(hesaplanan zamana göre) bir yerlere çarpacak eğer yoksa o zaman sıra doğrudan diğer kullanıcıya geçecektir.
Oyun tamamlanmadan oyundan çıkılmak istendiğinde, “Devam Eden Oyun Kaydedilsin mi” diye sormalıdır. Bu şekilde oyuna ilk girişte kayıtlı oyunlar gelmeli ve kullanıcı istediği oyunu seçip devam edebilmeli ya da yeni oyun açabilmelidir. Kayıtlı oyun bilgisi binaların yükseklikleri, kullanıcıların bomba atma hız ve yönleri ve kullanıcı sırası gibi bilgilerdir.
Aşağıdaki şekil kaba bir şekilde görülecek ekranı tasvir etmektedir. Bina, insan, bilgiler vs ile ilgili detaylar sizin hayal gücünüze bırakılmıştır. Önemli detaylar zaten üst kısımda anlatılmıştır. Kesin olarak verilmeyen değerlerde sizden beklenen kendinize göre oyunu şekillendirmektir. Kendinizin karar verdiği bu ayrıntılar raporda açık olarak belirtilmelidir.
Burada amaçlanan programlama mantığının bir oyun tasarımı ile geliştirilmesidir. Önemli olan bu projenin sizin ürününüz olmasıdır. Kopyaya kesinlikle izin verilmeyecektir. Ortak çalışma yapmaktan dolayı kod benzerliğine kesinlikle müsaade edilmeyecektir. Algoritmaların ucu açık bırakıldığı ve birçok yerde sizin düşünceniz önemli olduğu için herkesin programının farklı olması kaçınılmazdır. Ayrıca düşündüğünüz her şeyin ayrıntısı ile rapora yazılması gerekmektedir. Sadece raporda görünsün diye kod yazmamanız tavsiye edilir.
Not: Programa başlamadan önce yapmak istediklerinizi programlama diline bağımlı kalmadan kafanızda canlandırın ya da bir kağıt üzerinde ayrıntıları ile çizin. Bu şekilde programa başlamadan önce ne yapmak istediğinizi ve ileriki aşamalarda nerede kaldığınızı nerede takıldığınızı görebilirsiniz.
[