public void playGame(GUI gui, int matchNum, int totalMatches) {
        gui.initaliseWorldMap(world, matchNum, totalMatches);
        System.out.println("Total Food:" + world.getFoodNum());
        try {
            // Sleep thread for 3 seconds between each game for the player to observe the results
            Thread.sleep(3000); // 3000ms
        } catch (InterruptedException e) {
        }
        gui.updateUI(world, this);
        for (int i = 0; i < 300000; i++) {
            stepGame();
            gui.updateUI(world, this);
            //Use the following block to create a realtime simulation (lasts a 300,000 x number of ms specified in sleep(n))
//           try {
//                Thread.sleep(5); // 2ms sleep time between steps = 300,000x2ms = 10 minutes per game
//            } catch (InterruptedException e) {}
        }
        endGame();
        gui.updateUI(world, this);
    }