暑假我和一同学试图开发本地版Generals AI,最终因无法支持设备训练而以失败告终 我完成了交互界面与地图生成,决定在此分享。
环境:Python 3.9 | pygame 2.1.0 | numpy 1.21.2
我将这个项目上传到了Github,完整内容可去link查看
云剪贴板主程序->code
简单说明一下地图生成算法,整张地图可以分为很多个山脉(8连通),先对于每个山脉选出基准点,再bfs生成山脉。生成的时候每个方向都有一定概率延申,如果选择不延申,那么这个目标格子将会直接被禁掉,永远都不能走。最后塔在山中随机选出来,皇冠在塔中随机选出来(有最小曼哈顿距离限制)。
地图生成算法有一些不足和可优化之处,例如会出现边缘的封闭空间,塔有小概率被封闭,山脉分布不均匀(可用伪随机分布优化)等。由于太懒没时间就没有继续完善了。