我随机拥有这个敌人的发生器。我想根据得分改变他们的产卵。例如我的正常敌人每次都会产生,当我的分数达到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敌人不再出现了。 感谢〜
答案 0 :(得分:0)
b1; 100因为你的逻辑规定它只应该在得分&lt;时得到b1 100.您可以考虑将可绘制项添加到通用列表中,然后返回此列表,而不是仅返回单个类型。
例如
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;
请注意这不是确切的逻辑,因为我不知道驱动可绘制对象的常见对象是什么,我只是假设它会被称为drawable,但它可能是(也可能是)其他东西。< / p>