python gamemap_在Python中,为游戏地图构造有向图的好策略是什么?

首先,你需要一些位置感。不同的对象占据一定的坐标空间。在

你得决定这些东西有多规律。在一般情况下,您可以将它们作为简单矩形(或矩形实体)放入坐标空间,以使位置规划更简单。在

如果事情是不规则的和密集的,生活就有点复杂。在

定义包含位置的地图。每个位置都有一系列的坐标;如果使用简单的矩形,则每个位置都可以有一个(左、上、右、下)元组。在

你的地图需要一些方法来确定谁居住在一个给定的空间中,以及什么与空间相邻,等等

然后,您可以使用一组固定的位置对其进行单元测试,这些位置都可以放入地图中,并通过一些基本的健全性检查,以确定是否存在冲突、相邻等等。在

其次,你需要一种“迷宫发生器”。一个简单连接的迷宫很容易形成树结构,折叠成给定的空间。在

迷宫/树有一个“根”节点,它将是迷宫的中心。不一定是你空间的物理中心,但根节点将是迷宫结构的中间。在

理想情况下,这个节点的一个分支包含一个通向整个空间的“入口”。在

此节点的另一个分支包含整个空间的一个“出口”。在

有人可以从入口到出口徘徊,沿途参观很多“死胡同”。在

为根节点选择一种空间。把它放到你的地图空间里。在

这将有1-n入口,每个入口都是一个子树,具有根节点和1-n入口。正是这种多入口的生意使得一棵树自然适合这种结构。另外,一棵合适的树总是连接得很好,因为你从来没有孤立的部分是不能到达的。在

您将递归地从根节点扇出,选择位置并将它们放入可用空间。在

对其进行单元测试,以确保它能合理地填充空间。在

其余的需求是对迷宫生成器选择位置的方式进行微调。在

最简单的方法是有一个权重表和随机选择。选择一个随机数,将其与权重进行比较,以确定哪种位置。在

你对空间的定义可以是二维或三维,两者都很合理。对于奖励积分,请考虑如何实现一个用六边形而不是正方形平铺的二维空间。在

这个“几何体”可以是各种算法的一个策略插件。如果你能用六边形的2D代替正方形的2D,那么你已经很好地完成了OO设计。在

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值