Kutu Dizmece Oyunu

Tarihçecik

6 Mart 2005 Pazar - Oyunu yapma fikri ortaya atıldı.

8 Mart 2005 Salı - 1.0 beta sürümü için çalışmalar bu günde başladı ve bitti.

29 Mart 2005 Salı - 2.0 sürümünün yapımına başlandı.

Açıklama

Bu oyun Siemens cep telefonlarındaki "Stack Attack" isimli oyundan esinlenerek hazırlanmıştır. 2.0 sürümü bittiğinde 3 boyutlu ve izometrik olan 3.0 sürümünün yapımına başlanacaktır.

Oyunun yapımına katkıda bulunmak için bu sitedeki herşeyi okuyun, projenin ağ sayfasındaki dosyaları indirip çalıştırın ve jnmbk@users.sourceforge.net adresine oyundaki fonksiyonlar ve işleyiş hakkındaki fikirlerinizi gönderin. Projeye katılmak için de aynı adrese e-posta gönderebilirsiniz.

2.0 Sürümünün Yapılış (Kodlanma) Prensipleri

  • Oyunun yazma dili "Türkçe" yazılma dili "C" olacak (:
  • Yabancı dilde bir değişken veya ifade gerekmedikçe kullanılmayacak.
  • Oyunun ekrana yazacağı sözcükler kesinlikle Türkçe olacak.
  • Oyunun içinde ve kodlarının bulunduğu dosyada katkıda bulunanların isimleri ve e-posta adresleri yer alacak. Kodlar alıntı ise kaynak belirtilecek
  • Oyunun yazılışında CVS(Concurrent Versions System) kullanılacak
  • Oyun Konsol (MS-DOS) tabanlı olacak.
  • Oyunu oluşturan her fonksiyonun yazımına başlanmadan önce ne yapacağı ve nasıl yapacağı açıklanacak.
  • Oyunun kodları ayrı dosyalarda toplanacak, ana fonksiyon "kutudiz.c" dosyasında olacak.
  • Oyun linux üzerinde de çalışabilecektir. Derleyici olarak GCC kullanılacak
  • "Böyle olsaydı daha iyi olurdu...", "Burası yanlış olmuş...", "şurada eksik var..." vb. cümleler sahibi tarafından derhal kamuoyuna duyurulacak.
  • Yeniliklere her zaman açık olunacak.

2.0 Sürümünün Kapsamı

Yapılacak "Kutu Dizmece" oyunu Siemens cep telefonlarında görebileceğiniz "Stack Attack 2" oyununun hemen hemen tüm özelliklerini kapsamaktadır. Yalnız bunda kutularda farklı desen yerine yeşil-mavi-kırmızı-sarı renkleri kullanılacaktır ve daha çok alet olacaktır.

Oyunun Hikâyesi

Cin Ali tesisatçılık yapmadan önce geçimini bir depoya gelen kutuları uygun şekilde dizerek sağlıyormuş. Kutuları dizmesine yardım edin de aç kalmasın.

Oyunun Amacı

Aynı renkteki kutuları yan yana dizerek yok olmalarını sağlamak.

Programın Çalışma Algoritması

  • Oyun kısa bir süre bekletilir.
  • Oyuncu herhangi bir komut vermemişse oyun devam eder. Vermişse komut yerine getirildikten sonra devam eder
  • Ekranda düşmesi gereken hiçbir nesne yoksa ekranın en üst satırındaki rastgele bir hücreye bir satır altındaki hücre dolu olmamak şartıyla rastgele bir renkte kutu veya bir alet bırakılır. Düımesi gereken nesne veya nesneler varsa hepsi ikinci satırdan başlayarak birer satır aşağıya kaydırılır ve altlarındaki hücre doluysa düşmeyen nesne olurlar. Adamın altındaki hücre boşsa bir satır indirilir. Adamın elinde alet yokken altında alet varsa aletin olduğu hücreye indirilir ve alet alınır.
  • Adamın üzerindeki hücrede bir nesne varsa can bir azaltılır ve nesne yok olur.
  • Aynı renkten en az üç kutu bitişik hücrelerde bulunuyorsa kutu sayısına göre puan verilir ve kutular yok olur.
  • En alt satır nesnelerle tamamen dolduğunda buradaki tüm nesneler yok olur.
  • Yukarıdakiler can sayısı 0 olana kadar tekrarlanır.
  • Öne git komutu verildiğinde öndeki hücre sınır değilse; eğer öndeki hücre boşsa adam öne doğru bir hücre ilerletilir, öndeki hücre boş değilse; kutuysa; iki öndeki hücre boşsa ve üzerinde bir nesne yoksa kutu ve adam birer hücre öne kaydırılır, kutu değilse(mutlaka alettir); kalpse can 1 arttırılır ve o hücreye gidilir, değilse; elde alet yoksa ve üzerindeki hücrede bir nesne yoksa alet alınır.
  • Yön değiştir komutu verildiğinde adamın yüzü ters yöne çevrilir.
  • (Tuşları uygulama algoritması [karışık olması doğal mı?])Zıpla komutu verildiğinde adam en üst seviyede değilse; bir hücre üzerindeki nesne yok olur, adamın önündeki hücrenin üzeri boşsa adam oraya konur, değilse; adamın elinde alet yoksa ve önündeki hücrenin önündeki hücrenin üstündeki aletse, alet alınır ve adam oraya konur, değilse adamın önündeki hücrenin üzerindeki hücrenin önü boşsa, hücre bir yana kaydırılır ve adam önündeki hücrenin üzerine konur, değilse adam bir kare yukarı konur.
  • Kullan komutu verildiğinde elde alet varsa aletin özelliği gerçekleştirilir.
  • En fazla üç cana sahip olunabilir.
  • Bir kerede yalnızca bir alet taşınabilir.
  • Nesneler ve adam oyun ekranının sınırları dışına çıkamaz. Zaten tuşları uygulama algoritması bunu kontrol eder.
Bir nesne kutu veya alet olabilir.

Aletler

Aletin gelme sıklığı parantez içinde belirtilmiştir.

Kalp(%8)

Alındığında canı 1 arttırır.

Mıknatıs(%17)

Sadece adamın arkasında duvar ya da herhangi bir nesne yoksa ve önünde bir nesne varsa kullanılabilir. Nesneyi adamın bulunduğu hücreye getirir adamı bir hücre geri götürür.

Siyah Dinamit(%10)

Kullanıldığında adamın bulunduğu hücrenin komşusundaki(çapraz ve düz olarak) tüm nesneler yok olur.

Renkli Dinamit(%12x4renk)

Kullanıldığında ekrandaki kendi renginde olan tüm kutular yok olur.

Tüy(%17)

Sadece adamın bulunduğu satırın üzerinde iki satır daha varsa ve üzerindeki iki hücre de boşsa kullanılabilir. Kullanıldığında adamı iki hücre zıplatır.
Oyun hakkında bir ekleme veya değişiklik yapılmasını istiyorsanız bana e-posta gönderin...
Kodları renkli okuyup daha iyi anlayabilmeniz için bu programı tavsiye ederim: Notepad++...
SourceForge.net Logo