public void paintContent(Graphics2D g) {
        int w = getWidth();
        int h = getHeight();

        g.setColor(Color.LIGHT_GRAY);
        g.fillRect(0, 0, w, h);

        g.setColor(Color.BLACK);

        int xFactor = 5;
        int yFactor = 3;

        g.setColor(Color.BLACK);

        backWall = new Rectangle(w / xFactor, -1, w - w / xFactor * 2, h - h / yFactor + 1);

        g.drawLine(0, backWall.y + backWall.height + h / yFactor / 2, backWall.x, backWall.y + backWall.height);
        g.drawLine(w, backWall.y + backWall.height + h / yFactor / 2, backWall.x + backWall.width, backWall.y + backWall.height);

        g.draw(backWall);

        int doorWidth = w / 8;
        int doorHeight = h / 3;

        int pc = doorWidth / 4; // perspective correction


        for (int i = 0; i < doors.length; i++) {
            if (i == 0) doors[0].setBounds(backWall.x + backWall.width / 2 - doorWidth / 2, backWall.y + backWall.height - doorHeight, doorWidth, doorHeight);
            else if (i == 1) doors[1].setBounds(w / 4 / 2 - doorWidth / 2 - pc / 2, backWall.y + backWall.height - doorHeight + doorHeight / 8, doorWidth - pc, doorHeight + doorHeight / 4);
            else if (i == 2) doors[2].setBounds(w - w / 4 / 2 - pc / 2, backWall.y + backWall.height - doorHeight + doorHeight / 8, doorWidth - pc, doorHeight + doorHeight / 4);
        }

        for (RoomComponent drawable : items) {

            int iw, ih;

            if (drawable.image == null) return;

            double imageRatio = (double) drawable.image.getWidth() / drawable.image.getHeight();
            double componentRatio = (drawable.w * w) / (drawable.h * h);

            if (imageRatio > componentRatio) { // 
                iw = (int) (drawable.w * w);
                ih = (int) (iw / imageRatio);
            } else {
                ih = (int) (drawable.h * h);
                iw = (int) (imageRatio * ih);
            }

            drawable.setBounds((int) (drawable.x * getWidth()), (int) (drawable.y * getHeight()) - ih, iw, ih);

        }

        // Drawing the Zombies (if there is one!)  //
        if (this.getZombie() != null)
            this.getZombie().setBounds((int) (this.getZombie().x * getWidth()), (int) (this.getZombie().y * getHeight()) - 2, 100, 20);
    }