Bu yüzden ahşap, demir, altın vb. Kaynakları satmak veya almak için yerlere gemi gönderebileceğiniz bir oyun yapıyorum.
Şimdi kaynakların oyunda nasıl yaratılması gerektiğini merak ediyordum. 2 seçenek buldum
Her kaynak için bir sınıf oluşturun:
public class ResourceBase { private int value; // other base properties } public class Gold : ResourceBase { public Gold { this.value = 40 // or whatever } }
Kaynak sınıfının örneklerini oluşturma
public class Resource { string name; int value; public Resource(string name, int value) { this.name = name; this.value = value; } } // later on... Resource gold = new Resource("Gold",40);
İkinci seçenekle, oyun kaynaklarını bir resources.json dosyasından doldurmak mümkündür, bu yapıyı sevdim.
Yeni fikirler / tasarım desenleri / yapıları her zaman beklerim!
EDIT: Assassins Creed Black Flag'in arkadaşı uygulaması gibi biraz. Aşağıdaki resimde bulunan kaynak çubuğuna bakın
2 EDIT: "JSON dosyasından öğeleri / kaynakları yükleme" konusunda biraz daha araştırma yaptım ve şu blogu buldum: JSON'un Game Development'teki Gücü - Öğeler . Seçenek 1 ve seçenek 2'nin en iyisini gösterir. Hala her kaynağa işlevsellik ekleyebilirsiniz :)
enum
yerine.