我正在编写一个角色扮演游戏,目的是为了娱乐和学习。我计划拥有一个整体的游戏世界,并且在该游戏世界中我计划拥有玩家和怪物可以移动的“区域”。假设“区域”是 20x20 网格,该网格上的每个“图 block ”宽度为 64 像素。玩家或怪物可以占据一个 1x1 方 block 并以每步 1 个方 block 的步长移动。
如何让怪物和玩家在游戏进行时相互了解?我不知道我会使用什么样的数据结构,也不知道如何生成怪物并让它们在区域中徘徊。
注意:我似乎提到过使用某种树结构(四叉树),但我不太明白它们将如何应用。
最佳答案
我只会按区域映射怪物:
Map<Zone, Monster> MonsterByZones = new Map<Zone, Monster>();
当角色进入特定区域时,我猜该区域应该遍历它包含的所有怪物并要求它们做出决定:
foreach(Monster monster in MonsterByZones[currentZone].Values)
{
monster.MakeDecision(character);
}
世界应该有一种改变角色区域的方法:
world.ChangeZoneIfNeeded(character);
这是实现 RPG 的简单方法!
玩得开心!
关于c# - 如何让角色扮演游戏中的生物相互追踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2234339/