Merhabalar,
Uzun zaman önce D dilini çalışırken, "Bir oyun yazmaya kalksam, tasarım aşamalarını acaba nasıl gerçekleştirebilirdim"? sorusuna şöyle yaklaşmıştım.
"Bir kahraman tasarlarım. Bu kahraman oyuna başlandığında bir bıçakla donatılır. Gelişme kaydettikçe sırasıyla kılıç, tabanca, tüfek, bomba gibi silahlara sahip olur. Devamını getirebilirsem kendisini bisiklet, motosiklet, atv, pikap, tank gibi araçlarla donatırım"
Her ne kadar bu plan tam bir tasarım faciası olsa da dil üzerinde keyif alarak alıştırma yapabilmemi kolaylaştıracak, öğrenme eğrime katkıda bulunacaktı.
Bu oyun alıştırmasını gerçekleştirme fikrine sanırım http://ddili.org/ders/d/islevler.html bu dersin sonunda kapılmıştım. Öyle ya boru değil irisi ufaklısıyla tam otuziki konu üzerinde çalışmış yeterince palazlandığıma iyice ikna olmuştum.
Başlangıçta kahramanımızın bir enerji seviyesi olacaktı. Kendisinin kullanımına sunulan her silah düşmanında da bulunacak birbirleri ile dövüşürlerken vurduğu/aldığı darbeleri kullanılan silahın türüne göre hesaplattıracaktım.
Ne vardı ki bu basit kodu yazamayacak:
import std.stdio;
void main()
{
double kahramanınEnerjisi = 100_000;
double düşmanınEnerjisi = 100_000; /// [1]
double bıçakDarbesi = 0.1; /// [2]
// Kahramanımız beceriksiz çıkıyor ve kendini yaralıyor
double bıçakDarbeliKahraman = kahramanınEnerjisi * bıçakDarbesi;
writeln("Kendini kesen Sakar kahraman : ", bıçakDarbeliKahraman);
}
// Kendini kesen Sakar kahraman : 10000
Eh acemice de olsa bir başlangıç yapmıştık. Ancak bütün kodlamaları main'in içinde toplamanın kodlamam ilerdikçe bana sıkıntı yaratacağı da aşikârdı.
Buna bir çare bulmalıydım...
[1] '_' Rakamların kodlama aşamasında kolayca takibi için ayraç
[2] Hazır değer. Her iki not için ilgi http://ddili.org/ders/d/hazir_degerler.html
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]