Я делаю танк-игру. В моем классе PlayPanel
я написал этот код, так как вы можете видеть, что он в основном такой же, но он используется для 3 разных ArrayList
s.Как переписать эти 3 метода для повторного использования?
Мне очень хотелось бы знать, как написать этот метод один раз, только чтобы повторно использовать его для всех ArrayList
, потому что это кажется таким неопрятным.
//obstacles
for (int i = 0 ; i<obstacles.size() ; i++) {
if (obstacles.get(i).dood)
obstacles.remove(i);
}
//bullets
for (int i = 0; i< bullets.size(); i++) {
bullets.get(i).redraw();
//de positie van elke kogel wordt geupdate.
if(bullets.get(i).OutOfScreen()) {
bullets.remove(i);//uit scherm -> verwijdert en verplaatst
}
}
for (int i = 0; i< enemyBullets.size(); i++) {
enemyBullets.get(i).redraw();
if(enemyBullets.get(i).OutOfScreen()) {
enemyBullets.remove(i);
}
}
Я думал о написании, но это не кажется правильным:
public void remove(ArrayList object) {
for (int i = 0; i< object.size(); i++) {
object.get(i).redraw();
if(object.get(i).OutOfScreen()) {
object.remove(i);
}
}
}
Кроме того, я не знаю, как назвать этот способ, чтобы использовать его для одного из ArrayList
с ,
У вас есть 3 массива для разных целей, поэтому я думаю, что один из них должен позаботиться о себе индивидуально. не могли бы вы объяснить ** «Я действительно не знаю, как назвать этот метод, чтобы использовать его для одного из ArrayLists». ** лучше? ваш пост неясен, что вы спрашиваете –
Три петли на самом деле не то же самое. Первый, по-видимому, использует логический флаг 'dood'. Остальные 2 выглядят одинаково, и ваш метод кажется правильным. Какую проблему вы получаете точно? – Hilikus
@KickButtowski Я не знаю, как заставить java выполнить последний метод, который я написал для ArrayLists 'bombBullet' и' bullets', и где в моем коде мне нужно написать метод 'remove' – Sophia