Java 游戏开发:开始新游戏方法 startNewGame() 解析
该方法用于开始新的游戏。它首先使用一个循环创建指定数量的敌方坦克,并将这些坦克添加到一个数组中。接着,该方法创建一个新的记录器对象,并将敌方坦克数组设置为记录器的敌方坦克属性。最后,该方法启动每个敌方坦克的线程,使它们可以开始移动和攻击。
public void startNewGame() {
for (int i = 0; i < initialTankCount; i++) {
EnemyTank enemyTank = new EnemyTank(100 * (i + 1), 10, 2, EnemyTanks, myTank);
EnemyTanks.add(enemyTank); //将坦克加入数组中
new Thread(enemyTank).start();
}
recorder = new Recorder();
recorder.setEnemyTanks(EnemyTanks);
}
代码解析:
- 循环创建敌方坦克:
for循环根据initialTankCount创建指定数量的EnemyTank对象。每个坦克的初始位置、速度、方向以及对战的双方信息都通过EnemyTank的构造函数进行设置。 - 添加至数组: 每个创建的
EnemyTank对象都被添加到EnemyTanks数组中,方便管理所有敌方坦克。 - 启动坦克线程: 使用
new Thread(enemyTank).start()为每个EnemyTank对象启动一个新线程。这使得坦克能够独立地进行移动和攻击操作。 - 创建记录器对象:
recorder = new Recorder();创建一个新的Recorder对象用于记录游戏状态。 - 设置记录器属性:
recorder.setEnemyTanks(EnemyTanks);将EnemyTanks数组设置为Recorder对象的敌方坦克属性,以便记录器能够追踪所有敌方坦克的信息。
通过以上步骤,startNewGame() 方法成功地启动了一个新的游戏,并创建了所有敌方坦克,让它们开始进行移动和攻击。同时,它还初始化了记录器对象,以便记录游戏状态。
原文地址: https://www.cveoy.top/t/topic/oZO0 著作权归作者所有。请勿转载和采集!