ACM java游戏循环打破图形

时间:2014-12-20 19:27:31

标签: java while-loop game-engine acm-java-libraries

我的ACM库存在问题。我正在尝试创建一个游戏。为了让applet在acm中运行,你需要使用graphicsProgram类的run()方法。

我有一个单独的类,它将此图形程序作为全局字段,从图形界面添加和删除元素。我的问题是,如果我在这个类中有一个while循环,图形程序就会停止正常工作(无法删除元素,无法从外部菜单访问它......)。

是否有任何acm专家知道如何使用while循环和工作的graphicsProgram进行无限次迭代?

我有:

public class Controller extends GraphicsProgram{

private Battle battle = new Battle();

// Main Loop for the application
public void run() {
    battle.startBattle()

}

public class Battle {

private Set<Bullet> bullets = new HashSet<>();
private Set<Platform> platform= new HashSet<>();
private Controller controller;

public Battle(Controller controller) {...}

public void startBattle() {
    while (!isGameOver()) {
       for (Bullet b: bullets) {
           for (Platform p: platforms) {
                if (b.intersects(p)) {
                    controller.remove(b);
                } else {
                    b.move();
                }
           }
    }

我无法将代码从Battle移动到Controller中,因为Controller比给定的代码更复杂。

0 个答案:

没有答案