随机地图生成
一种最简单的方式无非是提前准备好一些Tile,并按照程序进行随机生成。但对于特殊的Tile,比如转角、起始、结尾等图块,需要在程序中加以限制。以下给出一种思路(有机会的话我会给出示意图和程序代码):
假设要生成的是俯视视图,10x10个单位区域大小的地图。按照A1 - J10标记各单位区域。
- 对A1进行处理。A1应当是左上角起始图块,在可以作为左上角起点的Tile中进行循环并随机选取一个Tile绘制在A1处。
- 对A2进行处理。A2应当是可以连接A1的图块。在满足条件的Tile中循环并随机选取一个Tile绘制在A2处。
……
- 对B1进行处理。B1是新的一行的起始图块,应当可以连接A1图块。在满足条件的Tile中随机选取一个Tile绘制在B1处。 ……
- 对J10进行处理。J10是最后一个图块,位于地图右下边界,因此应当在可以作为右下边界的图块中随机选取一个Tile绘制在J10处。
概括一下,最简单的随机地图生成方式无非就是逐步判断每一个单位区域可以填充什么类型的Tile,并且在满足条件范围的可行域内随机选取一个Tile绘制,并且在下一个单位区域内重复此判断。
随机敌人设计
这个仿佛没有什么难度……只需要预先设置敌人的数据库,并且随机读取和实例化就可以了。为了增加限制条件,你可以在每一个单位区域中设置每种敌人可能出现的权重,并且在利用程序实例化的过程中加权计算。
想到什么再补充吧