public void paint(Graphics g) {
    	int xstart = (int) prot.getCenterX() - SCREEN_WIDTH/2;
    	int ystart = (int) prot.getCenterY() - SCREEN_HEIGHT/2;
    	
    	bg.paint(g, xstart, ystart);
        prot.paint(g);
        blocks.paint(g, xstart, prot.getCenterpoint());
        for(Ball ball:balls) {
            ball.paint(g);
        }
        for(Spikes spike:spikes) {
            spike.paint(g);
        }
        for(MovingPlatform platform:movingPlatforms) {
            platform.paint(g);
        }
        goal.paint(g);
        g.drawString(prot.canLift()+","+prot.getTimeAirborne(), 700, 20);
        g.drawString("Version 4.2", 300, 20);
        g.drawString("Walking:"+prot.isWalking(), 900, 70);
        g.drawString("Airborne:"+prot.isAirborne(), 900, 90);
        g.drawString("Jumping:"+prot.isJumping(), 900, 110);
        g.drawString("Direction:"+prot.getDirection(), 900, 130);
        g.drawString(""+prot.getVelocity(), 300, 50);
        g.drawString(""+prot.getCenterX()+","+prot.getCenterY(), 400, 90);
        if(isFinished() && !isVictorious()) {
            g.setColor(Color.RED);
            g.fillRect(0,0,SCREEN_WIDTH,SCREEN_HEIGHT);
        }
    }