我试图在循环中实例化三个对象,这样我就不会重用构造函数文本。这是因为,对于Uni,如果我们重复使用相同的代码行(它会自动标记),我们就会被标记下来。
我的代码如下:
EnemyShip enemy1;
EnemyShip enemy2;
EnemyShip enemy3;
public Game()
{
for (int i = 1; i <= 3; i++) {
getEnemyRef(i) = new EnemyShip(); //getEnemyRef unexpected type - required:variable found:value
//enemy1 = new EnemyShip(); works normally
}
}
我有下划线,我被告知这是一个不可变的值。
请注意,我使用以下代码而不是列表或数组,因为我们不允许将它们用于此任务。
public EnemyShip getEnemyRef(int enemy) {
switch (enemy)
{
case 1:
return enemy1;
case 2:
return enemy2;
case 3:
return enemy3;
}
return null;
}
标记系统根据源代码中编写的次数重复使用次数,而不是执行次数
答案 0 :(得分:0)
这个片段应该可以解决问题:
public void setEnemyRef(int enemyFlag, EnemyShip enemy){
switch (enemyFlag){
case 1:
enemy1 = enemy;
break;
case 2:
enemy2 = enemy;
break;
case 3:
enemy3 = enemy;
break;
}
}
然后在for-loop
:
for (int i = 1; i <= 3; i++) {
setEnemyRef(i, new EnemyShip());
}
答案 1 :(得分:-1)