这是我正在制作的一个太空入侵者游戏。这段代码处理与项目和射手的碰撞。在游戏开始时,射手最多可以射击3次,当他收集一件物品时,最多可以射击10次,持续3秒。我曾尝试使用for循环,但它从未恢复到最大大小3
无for循环
//items vs shooter
var removeItems = new ArrayList<>();
for(var blocks: shooter.getComponents()){
for(var i: items){
if(blocks.collideWith(i)){
removeItems.add(i);
shooter.setMAX_BULLETS(10);
}
}
}
items.removeAll(removeItems);
带for循环
var removeItems = new ArrayList<>();
for(var blocks: shooter.getComponents()){
for(var i: items){
if(blocks.collideWith(i)){
removeItems.add(i);
for(int j =0; j<3;j++){
shooter.setMAX_BULLETS(10);
}
}
}
}
items.removeAll(removeItems);
2条答案
按热度按时间k0pti3hp1#
任何地方都不能将最大子弹数设置回3。添加
shooter.setMAX_BULLETS(3)
在for循环之后。kfgdxczn2#
我得到了问题的答案