android - Android游戏中类、 Activity 设计如何处理

标签 android

我正在制作一款类似于口袋妖怪的游戏,现在我正试图找出处理战斗的最佳方式。

我创建了一个怪物类,实例化时包含特定怪物的名称、生命值、统计数据等。我将让两个怪物互相战斗,玩家可以选择一个 Action (可能也是一个具有伤害的类、信息和类型统计数据)来攻击对手。

是否最好让 Moves 类成为一个 Activity ,以便我可以使用方法来攻击和计算伤害?或者我应该创建一个战斗 Activity ,我向怪物发送相关统计数据并让它处理改变健康状况并打印出解释发生了什么的文本?这样,我的怪物和移动类只保存信息,不使用任何方法。

最佳答案

从设计的角度来看,您的第二个想法更符合预期。

您的基本想法是每个对象(在本例中为 Monster)都将具有公共(public)函数,以获取可用的 Action 、当前统计信息等。

因此 Battle Activity 将期望每个团队有一个或多个 Monster 对象,定义关于什么使战斗获胜、处理哪个怪物先走等的规则。

因此,如果怪物受到伤害而我们需要保存它,您可以在 Monster 类中创建一个函数,例如:

public void takeDamage(double damage) {
 this.hp -= damage;
 //Handle status updates if hp <= 0

 //Automatically save the monster's state, to prevent cheating by quitting before battle is over!
 this.saveMonsterState();
}

每当一个怪物击中另一个怪物时,就会从战斗 Activity 中调用它。希望对您有所帮助!

关于android - Android游戏中类、 Activity 设计如何处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9319638/

相关文章:

android - Seekbar 进度可绘制不显示和 API 23

Android SocketIOClient错误: "Scheme ' ws' not registered

android - 两次扩展android中的Application类

java - RxJava - 每秒发出一个 observable

安卓 : Open a URL in a Browser

java - Set<Class<PupilVO>> 和 Set<PupilVO> 的区别

c# - 如何解决 Xamarin.Android Java 互操作的缓慢问题

java - 将文本设置为来自另一个 XML 的 View

android - 我怎样才能给 imageview 四个按钮点击?

android - 关于 Glide 库的详细信息