https://github.com/munificent/hauberk
https://indienova.com/indie-game-development/rooms-and-mazes-a-procedural-dungeon-generator/
http://journal.stuffwithstuff.com/2014/12/21/rooms-and-mazes/
http://www.astrolog.org/labyrnth/algrithm.htm
PathFinding.js (qiao.github.io)
c#实现
Tips:
随机地图更偏向是面向过程的编程。
先根据一个直观的思路过程写下来,遇到有些地方需要递归的地方递归处理,需要循环的地方循环处理。
一路下来就是随机地图。
Tips2:
hauberk代码讲解:
本人花费大量时间研究作者的dart代码,最容易理解的方式,是自己写协程一步一步看效果。
里面重要的方法,一个是Reachability里面的Process,一个是Reachability里面的Fill。
Process是从一组起点,重新计算可访问点的距离。
Fill是尝试堵塞一个砖块,然后查看,本来可访问的【绿点(房间)】数量是否变少,如果变少,就证明这次堵塞是错误的,这里不是一个墙,是一个蓝色的通道。
网友评论