按分数重生敌人



我有这个随机的敌人生成器。 我想根据获得的分数更改他们的生成。 例如,我的普通敌人每次都会生成,当我的分数达到 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;

请注意,这不是确切的逻辑,因为我不知道驱动可绘制对象的常见对象是什么,我只是假设它会被称为可绘制对象,但它可能是(并且可能是(其他东西。

最新更新