Saya sedang dalam tahap perencanaan gim gaya RPG kecil.
Karakter akan memiliki seperangkat atribut, seperti kekuatan, kelincahan, dll yang direpresentasikan sebagai bilangan bulat. Karakter juga akan memiliki seperangkat serangan yang direpresentasikan sebagai kelas serangan.
Pada setiap serangan saya ingin melakukan kerusakan berdasarkan atribut karakter, misalnya: serangan "pedang slash" akan melakukan 10 dmg + nilai kekuatan karakter.
Cara saya berpikir untuk melakukan ini adalah memiliki kelas serangan abstrak, yang memiliki metode Serangan abstrak, dan untuk setiap serangan saya membuat satu kelas yang menerapkan metode Serangan.
public class SwordSlash:Attack
{
public void Attack(Character attacker, Character defender)
{
defender.DoDamage(10 + attacker.Strength);
}
}
Saya melihat bahwa ini akan membuatnya menjadi mimpi buruk untuk dipertahankan.
Adakah yang tahu bagaimana saya bisa mencapai ini dengan cara yang lebih baik?
Apa yang saya pikirkan adalah masalah utama adalah bagaimana cara memasukkan atribut yang benar, berdasarkan serangan.
sumber
Anda ingin membaca Obyek Agregat melalui Komponen dan Lubang Permainan Konstruksi Lubang Kelinci , dari blog Pulau Replika .
sumber
Saya akan memiliki kelas senjata yang memiliki metode serangan yang Anda timpa dengan perilaku yang Anda inginkan. Anda kemudian dapat juga menangani bagaimana senjata terlihat dalam game, dalam inventaris, berapa banyak yang dijual untuk dll di kelas yang sama.
sumber
Saya benar-benar baru dalam hal ini, tetapi cara saya akan melakukannya adalah membuat kelas serangan generik.
Ketika satu instance karakter ingin menyerang instance karakter lain, ia akan membuat instance dari kelas serangan, diisi dengan data yang diperlukan, dan ID karakter yang membuatnya. Penyesuaian dari gir kemudian akan diterapkan ke objek serangan, menggunakan data yang bisa dimasukkan dalam dokumen xml atau serupa.
Contoh kelas ini kemudian akan dibungkus di dalam kelas lain, untuk menyediakan kait bagi lingkungan untuk menentukan kisaran atau serupa. Jika serangan itu valid, instance serangan akan diteruskan ke karakter yang diserang, siapa yang akan menerapkan efek.
Harapan itu masuk akal.
sumber