Tôi đang trong giai đoạn lập kế hoạch của một trò chơi RPG nhỏ.
Nhân vật sẽ có một tập hợp các thuộc tính, như sức mạnh, sự nhanh nhẹn, v.v ... được thể hiện dưới dạng số nguyên. Nhân vật cũng sẽ có một tập hợp các cuộc tấn công được thể hiện dưới dạng một lớp tấn công.
Trên mỗi đòn tấn công, tôi muốn nó gây sát thương dựa trên các thuộc tính của nhân vật, ví dụ: đòn tấn công "kiếm chém" sẽ gây ra 10 dmg + giá trị sức mạnh của nhân vật.
Cách tôi nghĩ để làm điều này là có một lớp tấn công trừu tượng, có một phương thức Tấn công trừu tượng và với mỗi cuộc tấn công tôi tạo ra một lớp thực hiện phương thức Tấn công.
public class SwordSlash:Attack
{
public void Attack(Character attacker, Character defender)
{
defender.DoDamage(10 + attacker.Strength);
}
}
Tôi thấy rằng điều này sẽ làm cho nó trở thành một cơn ác mộng để duy trì.
Có ai có ý tưởng làm thế nào tôi có thể thực hiện điều này một cách đẹp hơn không?
Điều tôi nghĩ là vấn đề chính là làm thế nào để nhập thuộc tính chính xác, dựa trên cuộc tấn công.