用java实现:当5个敌军坦克都被消灭完后,显示消灭时间。5 秒后加载下一关地图。用子函数hit判断坦克是否被消灭,num作为全局变量,记录已被消灭的坦克数量
时间: 2024-04-10 11:30:55 浏览: 109
好的,以下是使用Java实现的代码示例:
```java
import java.util.Timer;
import java.util.TimerTask;
public class TankGame {
private int num = 0;
private Timer timer;
public void hit(boolean isHit) {
if (isHit) {
num++;
if (num == 5) {
showEliminationTime();
loadNextLevel();
}
}
}
private void showEliminationTime() {
System.out.println("消灭时间:" + System.currentTimeMillis());
}
private void loadNextLevel() {
timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
System.out.println("下一关地图加载完成!");
timer.cancel();
}
}, 5000);
}
public static void main(String[] args) {
TankGame game = new TankGame();
// 假设有5辆敌军坦克
boolean[] enemyTanks = {true, false, true, true, true};
for (boolean isHit : enemyTanks) {
game.hit(isHit);
}
}
}
```
在上述代码中,我们对前面的代码进行了修改和扩展。新增了一个`Timer`对象用于定时加载下一关地图。当`num`变量的值达到5时,调用`showEliminationTime`方法显示消灭时间,并调用`loadNextLevel`方法加载下一关地图。
在`showEliminationTime`方法中,我们使用`System.currentTimeMillis()`获取当前时间戳,并将其输出作为消灭时间。
`loadNextLevel`方法中,我们创建了一个`TimerTask`匿名内部类,通过`schedule`方法定义了一个5秒后执行的任务,任务中输出下一关地图加载完成,并取消`Timer`对象。
在`main`方法中,我们创建了一个`TankGame`对象,并使用一个布尔数组模拟敌军坦克的被击中情况。遍历该数组,并调用`hit`方法进行判断。
注意:以上代码只是一个简单的示例,并没有实际加载地图的功能。实际加载地图的方式根据具体需求进行实现。
阅读全文