@Override
	public void paint(Graphics g) {	
		
		if (gameState == GameState.DEAD) {
			g.setColor(Color.BLACK);
			g.fillRect(0, 0, 800, 480);
			g.setColor(Color.RED);
			g.drawString("Game Over!!", 360, 240);
			return;
		}
		
		final Image background = getImage(CharacterType.BACKGROUND);
		g.drawImage(background, bg1.getX(), bg1.getY(), this);
		g.drawImage(background, bg2.getX(), bg2.getY(), this);
		paintTiles(g);
		
		for (Projectile p : robot.getProjectiles()) {
			g.setColor(Color.YELLOW);
			g.fillRect(p.getX(), p.getY(), 10, 5);
		}
		
		g.drawImage(currentSprite, robot.getCenterX() - 61, robot.getCenterY() - 63, this);
		// DEBUG:
		// Robot.paintRectangles(g);
		g.drawImage(hanim.getImage(), hb.getCenterX() - 48, hb.getCenterY() - 48, this);
		g.drawImage(hanim.getImage(), hb2.getCenterX() - 48, hb2.getCenterY() - 48, this);
		g.setFont(font);
		g.setColor(Color.WHITE);
		g.drawString(Integer.toString(score), 740, 30);
	}