我在这里要求为游戏做一个随机将怪物放在地图中的方法。我不确定要开始并且如何在一个对象中放置一个对象(ex.Boss)( 0,0)使用嵌套for循环的2D数组或随机放置弱敌。 如何将这个想法转化为代码?
public void generateMap(ArrayList weakFoes,ArrayList strongFoes)://它应该随机生成整个地图网格。应填写:
•1 Boss:随机boss应位于地图的左上角,即单元格(0,0)。
•15个弱敌:弱敌人应该随机定位在地图上。应该从输入的弱棋中随机选择弱敌人。
感谢任何帮助..谢谢你
答案 0 :(得分:0)
在方法开始时在两个arraylists上使用它
Collections.shuffle(strongFoes);
Collections.shuffle(weakfoes);
这两个列表现在都是随机的,您可以使用for循环(例如
)将它们正常添加到单元格中int i monsterCount = 0;
map[0][0].add(strongFoe.get(0);
for(int i = 0; i<mapWidth; i++)
{
for(int j = 0; i<maplength; j++)
{
map[i][j].add(weakfoe.get(monsterCount));
monsterCount++;
}
}
然后您需要做的就是根据您想要添加它们的频率来定义逻辑,对于StrongFoe来说,更有效的方法是Math.rand()并获取该索引处的元素但是我使用的简单方法两者的方法相同。上面的代码将根据您正在起诉的结构而改变,但逻辑应该是合理的。
重读原始问题并看到你只希望它发生15次而不是我上面的循环我会有一个循环 循环到15生成两个随机数作为地图合并并将怪物放入该正方形(除非怪物已经在其中然后选择另一个)