大家下午好!
作为更好地掌握基于对象的编程的一些大部分方面的一部分,我已经开始尝试一些比我过去所做的更大的事情。因此,我正在尝试学习继承、代码重用、更广泛地使用类等等。为此,我试图将基本 RPG/地牢爬行者所需的所有部分拼凑起来。我知道这已经完成了十亿次,但我发现实际上尝试编写类似的代码会让你遇到比你想象的更多的问题,这是一种很好的学习方式(我认为)。
现在我只加载了一个 WPF 应用程序,因为我 95% 的兴趣在于能够将工作类、例程、函数等拼凑在一起。而不是对它的外观感兴趣。我实际上正在阅读 XNA,但由于我主要是想掌握基本的工作原理,我还不想让这些方面与事物的图形方面复杂化。
我现在面临的问题是,当我要一个角色攻击或防御时,它应该知道它来自哪个其他角色,或者应该指向哪个角色。我想我可以使用 GUID 或手动指定的 ID。但问题是我真的不知道如何实现这样的事情。我想到的是,我可以添加对数组 (Character[]) 的引用,并让 SearchByID 函数循环遍历它们以找到正确的数组并将其返回。像这样:
internal Character SearchByID(string _ID)
{
foreach(Character charToFind in Character[])
{
if(charToFind.ID == _ID)
return charToFind;
}
}
当然,由于目前的回归,这必须稍作改变,但只是为了给你一个想法。我坚持的是如何在“字符”类之外创建适当的数组?我可以很好地填写它,但是我该如何将它添加到班级级别之上呢?“Character”类的构建方式是每个新角色都从 Character 类实例化。然后构造函数加载适当的值。但除此之外,我认为不可能在此之外初始化一个数组。
如果最好发布我拥有的整个代码,那根本没有问题!
感谢您为我提供的任何见解。