繁体   English   中英

编写自己的类实例的程序的概念

[英]Concept of Program Making Own Class Instances

这可能是一个简单的答案的基本问题,但我似乎无法将其背后的逻辑包裹住。

我将以一个著名的Java游戏Minecraft的简单示例开始。 玩家被置于一个世界中,并被允许与不同的对象进行交互。 假设玩家想要木头。 他看到一棵树,走过去,砍下它。 他看到另一棵树,走过去,然后照做。 他可以根据需要多次执行此操作,并且如果玩家进行足够的探索,则游戏将加载更多的树。 但是,这是怎么做的呢? 换句话说,程序如何才能制作出无数的树木,让玩家始终能够与之交互?

我想象代码中有一个树类。 但是显然,程序员没有在不同的类实例中进行编码,例如tree1,tree2等,因为他不知道游戏中需要加载多少棵树。 那么,程序如何做到这一点而又没有告知会有多少棵树?

换句话说,我不理解程序如何自行决定制作x个类实例,而不是程序员必须手动编写自己的类实例。 游戏开发商和其他程序员如何做到这一点?

谢谢。

考虑一下我们如何生成随机游戏地图。 假设地图的环境将在森林中。 森林中有哪些物体?

  1. 树木
  2. 小动物(即松鼠,兔子)
  3. 森林地面纹理(即草或落叶)

我们从一个基本的100x100单位游戏地图开始。 我们将使程序生成10到30棵树,并生成树的X和Y坐标,条件是没有树可以具有相同的X和Y坐标。 我们对其他对象也是如此。

现在我们告诉程序加载所有这些对象的游戏地图。 做完了

考虑一个简单的网格,其中网格上的每个位置都可以被一个对象占据。 物体可以是树,岩石或生物。 在这个世界上,我在地图上将区域定义为“可增长”。 在这些区域中,如果还没有东西,将会有所发展。 游戏将有一系列的回合。 在每个回合中,我运行一个例程来查找所有可生长的斑点,如果那里没有长出的东西,则随机确定是否应该发芽。 这样,如果有人砍倒一棵树,那么该位置可以在游戏后期发芽一棵新树。

也许游戏更复杂,简单的网格不够好。 无论如何,游戏都必须以某种方式跟踪所有对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM