我有这个随机的敌人生成器。 我想根据获得的分数更改他们的生成。 例如,我的普通敌人每次都会生成,当我的分数达到 100 时,仍然会出现普通敌人,但有更难的敌人生成.. 有什么提示吗?
这是我随机生成敌人的代码
private int getRandomEnemy() {
/*int randNumber = enemyGenerator.nextInt(150);
if (randNumber < 70)
return R.drawable.b1;
else if (randNumber >= 139 && randNumber < 150)
return R.drawable.b2;
else if (randNumber >= 123 && randNumber < 138)
return R.drawable.b3;
else if (randNumber >= 117 && randNumber < 122)
return R.drawable.b4;
else if (randNumber >= 96 && randNumber < 116)
return R.drawable.b5;
else if (randNumber >= 90 && randNumber <= 95)
return R.drawable.b6;
else
// n < 100, always holds
return R.drawable.bigger;*/
}
我试过这个
if(score < 100)
return R.drawable.b1;
else if(score >= 100)
return R.drawable.bigger;
else
return R.drawable.b2;
但是在这种方法中,当你达到100后,B1敌人不再出现。谢谢~
b1 不是在得分> 100 之后创建的,因为您的逻辑表明它应该只在得分<100 时生成 b1。您可以考虑将可绘制项添加到泛型列表中,然后返回此列表,而不是仅返回单个类型。
例如。
List<Drawable> enemies = new List<Drawable>();
if (score < 100)
enemies.Add(R.drawable.b1);
else if (score >= 100)
{
enemies.Add(R.drawable.b1);
enemies.Add(R.drawable.bigger);
}
else
{
enemies.Add(R.drawable.b2)
}
return enemies;
请注意,这不是确切的逻辑,因为我不知道驱动可绘制对象的常见对象是什么,我只是假设它会被称为可绘制对象,但它可能是(并且可能是(其他东西。