我将如何用java制作程序生成的地图?
游戏本身就像塞尔达传说是程序生成的......有帮助吗?
不久前的《塞尔达传说》地图使用等距平铺视图。您需要做的第一件事是将等距图块集加载到您的程序中,我确信您可以找到塞尔达图块集。然后,您需要决定如何按程序生成地图。会有海洋、不同的生物群落、建筑物吗?在制定生成地图的方程式时,需要考虑所有这些因素。每个图块都需要存储在某个地方,因此我将创建一个二维数组来打包所有图块值。然后使用嵌套的 for 循环来渲染图块。代码看起来像这样
int[][] world = new int[50][50];
for( int i = 0; i < 50; i++ ){
for( int b = 0; b < 50; b++ ){
int tile = world[i][b];
render(tile, i, b);
//use i and b to position the tile on your world
生成哪些图块去哪里比创建图块后渲染它们要棘手一些。上面只制作了一个空矩阵。我将再次使用 for 循环,用代表图块的不同 int id 值来根据您的喜好填充世界。然而,这将是完全随机的,所以你需要一些方法来控制你的疯狂。我会在生成时测试周围的瓷砖,并给予周围瓷砖更高的生成概率,这样地形会更加平滑。如果您希望玩的每个游戏都有相同的世界,您只需为矩阵提供常量值,而不是生成它们。我无意编写整个等距视图引擎,但我希望其中一些概念可以帮助您。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)