我在游戏中的职业应该有多具体?(或其他任何地方)

2024-06-16 12:46:22 发布

您现在位置:Python中文网/ 问答频道 /正文

到目前为止,我做了两个游戏,一个是简单的2D MMO,另一个是带有更多功能的2D门户克隆。你知道吗

不管怎样,我注意到我在这两个游戏中的课堂设计有点不同:

在MMO中,我会创建一个名为“敌人”的类,这个类会接受一些参数,比如imageattack_power。你知道吗

在类似门户的游戏中,我会专门为每种对象创建类,例如“Box”、“Wall”或“Doors”。然后,这些将只接受position作为参数,在内部我将用movable标记它们,用true/false标记physics,然后我将有一个update函数来处理这些对象。你知道吗

解决这类问题的最佳方法是什么?我应该有多具体,我应该用完全不同的东西吗?你知道吗

我用Python和Javascript制作了这些游戏。你知道吗


Tags: 对象标记imagebox游戏参数门户power
2条回答

这取决于每门课的目的,你所使用的语言,你试图达到的目标,你试图解决的具体问题,以及无数其他因素——每个问题和每个程序都是不同的。你知道吗

我建议围绕面向对象设计的坚实原则做一些研究,这些原则更像是指导原则而不是规则,但是理解它们并能够将它们应用于实际问题可能会帮助您实现“好”的类设计

没有“最佳”方法,因为解决问题没有普遍的正确或错误的方法,当你考虑到其他现实世界中可能遇到的问题时,完美的解决方案并不总是可行或可取的。你知道吗

你想问自己的问题可以是

  • 我的程序实际上做什么?通常,当您开始思考程序的工作方式时,最有用的类就会出现。例如,您的movable Box类最终可能做得很少,以至于更容易将其表示为一个简单的结构,但是您可能会发现BoxMover类有一个用途,它充满了“move”逻辑,并且知道如何移动Box。

  • 我的程序中的不同实体是如何工作的?你没有提到很多关于你的类的细节,所以只有你知道它们是否做了不同的事情,但是如果你最终得到了几十个几乎相同的类(特别是在差异仅限于数据的情况下),那么你可能做得太过分了。

  • 我到底想怎么处理这些课程?考虑接口很重要;OO设计的重点更多地是类的使用方式,而不是类存储的数据。(例如,与普遍的看法相反,正方形可能与矩形完全没有共同点)。同样,一个类的接口只有一行get set函数,这可能不会让您的生活变得更轻松,也不会让您更接近于找到一个好的解决方案。

What is the best approach to this kind of problem?

一些游戏开发人员会说,面向对象编程不是游戏中使用的编程类型。它们将拥有一个全局数据存储,并使用过程代码访问全局数据存储。你知道吗

你是唯一能真正回答这个问题的人。你的课程对你的游戏编程有帮助还是有阻碍?你知道吗

How specific should I be, and should I use something completely different?

具体到你需要的模型游戏。在我看来,既然你完成了比赛,你就有了一个好榜样。随着您获得更多的开发经验,您将看到更多可以使用的模型。你知道吗

相关问题 更多 >