import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Game { GameLogic logic; public static void main(String[] args) { javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { new Game(); } }); } public Game() { logic = new GameLogic(); GameGraphics graphic = new GameGraphics(logic); logic.initialize(); graphic.render(logic); boolean isGameOver = false; Timer timer = new Timer(100, new ActionListener() { @Override public void actionPerformed(ActionEvent e) { logic.update(); graphic.render(logic); } }); timer.start(); /* ; while (!isGameOver){ logic.update(); graphic.render(); } */ } public GameLogic getLogic() { return logic; } }