@Override
    public void paint(Graphics graphics) {

        super.paint(graphics);

        if(ingame) {
            checkPause();

            Graphics2D graphics2d = (Graphics2D) graphics;
            ArrayList clip = leon.getBullets();

            //Draw all of the doors/entrances
            for(int i = 0; i < entrances.size(); i++) {
                Entrance entrance = (Entrance) entrances.get(i);
                graphics2d.drawImage(entrance.getImage(), entrance.getX(), entrance.getY(), this);
            }

            //draw all of the scenery objects
            for(int i = 0; i < scenery.size(); i++) {
                SceneObject sceneObject = (SceneObject) scenery.get(i);
                graphics2d.drawImage(sceneObject.getImage(), sceneObject.getX(), sceneObject.getY(), this);
            }

            //draw all of the bullets
            for(int i = 0; i < clip.size(); i++) {
                Bullet bullet = (Bullet) clip.get(i);
                graphics2d.drawImage(bullet.getImage(), bullet.getX(), bullet.getY(), this);
            }

            //draw all of the items
            for(int i = 0; i < items.size(); i++) {
                Item item = (Item) items.get(i);
                if(item.isVisible()) {
                    graphics2d.drawImage(item.getImage(), item.getX(), item.getY(), this);
                }
            }
            
            //draw Leon
            graphics2d.drawImage(leon.getImage(), leon.getX(), leon.getY(), this);
            
            //display the number of bullets left for the equipped weapon
            graphics2d.setColor(Color.WHITE);
            graphics2d.drawString("Bullets Left: " + inventory.getEquippedAmmoCount(), 5, 890);

            //draw all enemies from the array
            for(int i = 0; i < enemies.size(); i++) {
                Enemy enemy = (Enemy) enemies.get(i);
                if(enemy.isVisible()) {
                    graphics2d.drawImage(enemy.getImage(), enemy.getX(), enemy.getY(), this);
                }
            }
        } else {
            //Leon is dead, so display the game over screen
            ImageIcon imageIcon = new ImageIcon(this.getClass().getResource("images/gameOver.png"));
            Image image = imageIcon.getImage();
            
            Graphics2D graphics2d = (Graphics2D) graphics;
            graphics2d.drawImage(image, 400, 50, this);
        }

        Toolkit.getDefaultToolkit().sync();
        graphics.dispose();
    }