public WorldView( Asteroids<World, Ship, Asteroid, Bullet> game, World world, Ship player1, Ship player2) { this.game = game; this.facade = game.getFacade(); this.world = world; this.player1 = player1; this.player2 = player2; this.timer = new Timer(TIMER_DELAY, this); setBackground(Color.BLACK); ClassLoader loader = WorldView.class.getClassLoader(); background = Toolkit.getDefaultToolkit() .getImage(loader.getResource("asteroids/resources/game-background.jpg")); background = background.getScaledInstance(game.getWidth(), game.getHeight(), Image.SCALE_DEFAULT); if (player1 != null) { int size = (int) (2 * facade.getShipRadius(player1)); Image image = Toolkit.getDefaultToolkit() .getImage(loader.getResource("asteroids/resources/deathstar.png")) .getScaledInstance(size, size, Image.SCALE_DEFAULT); visualizations.put(player1, new ShipVisualization(Color.RED, player1, image)); } if (player2 != null) { int size = (int) (2 * facade.getShipRadius(player2)); Image image = Toolkit.getDefaultToolkit() .getImage(loader.getResource("asteroids/resources/sphere.png")) .getScaledInstance(size, size, Image.SCALE_DEFAULT); visualizations.put(player2, new ShipVisualization(Color.GREEN, player2, image)); } addKeyListener(this); }