@SuppressWarnings("empty-statement")
    public void Show(String uname)
    {
        User moves = new User();
        ASCII_Art a = new ASCII_Art();
        ASCII_Tiles t = new ASCII_Tiles();
        //Display EQ
        delayASC(a.getEq(), 250);
        Options o = new Options();
        t.setTilePairs(o.getTilePairs());
        t.setIntTiles(t.getTilePairs() * 2);
        t.createTileArray(t.getIntTiles());
        s.match = new boolean [t.getIntTiles()];
        s.misses = new int [t.getIntTiles()];
        s.matches = new int [t.getIntTiles()];
        //s.matchTile = new int [t.intTiles];
        System.out.println("Choose a tile number (1-" + (t.getIntTiles()) + "):");
        System.out.println("(0 exits to Main Menu)");
        String prompt1 = "Please specify the first tile.";
        String prompt2 = "Please specify the second tile.";
        String msgSuccess = "Match!"; String msgFailure = "Sorry!";
        count = 0;
    
    while (s.countMatches < t.getTilePairs())
    {     
        // Get user input for first tile guess
        try
        {
            t1 = (moves.getUserInt(prompt1) - 1);
            System.out.println(t.returnTile2(t.getArrTiles(t1)) + "\n");
            //System.out.println(t.pairOne[t1] + "\n");
            checkExit(t1, uname); checkMatched(t1, uname);
        }
        catch (Exception x)
        {
            if (t1 == -1)
            {
                checkExit(-1, uname);
            }
            
            System.out.println("Invalid guess (" + t.getTilePairs() * 2 + " is the max.)");
            s.countMatches = t.getTilePairs();
            count = t.getIntTiles();
            continue;
        }
        
        // Get user input for second tile guess
        try
        {
            t2 = (moves.getUserInt(prompt2) - 1);
            System.out.println(t.returnTile2(t.getArrTiles(t2)) + "\n");
            //System.out.println(t.pairTwo[t2] + "\n");
            checkExit(t2, uname); checkMatched(t2, uname);
        }
        catch (Exception x)
        {
            if (t2 == -1)
            {
                checkExit(-1, uname);
            }
            
            System.out.println("Invalid guess (" + t.getTilePairs() * 2 + " is the max.)");
            s.countMatches = t.getTilePairs();
            count = t.getIntTiles();
            continue;
        }
        
        /* 
         * Compare user input; if dupes are disabled, alternate checking can be used with current random tile allocation
         * X|aBBa|chiasmus (e.g. t1 + t2 = 9)
        */
        System.out.println("");
        if (t.getArrTiles(t1) == t.getArrTiles(t2))
        {
            try
            {
            s.match[t1] = true;
            s.matchTile[t1] = (t1);
            s.match[t2] = true;
            s.matches[t1] = (s.matches[t1] + 1);
            s.matches[t2] = (s.matches[t2] + 1);
            count++;
            s.countMatches++;
            System.out.println(msgSuccess + " " + a.getMusic());
            }
            catch (Exception x)
            {
                System.out.println("Error: " + x + "\n");
                this.Show(uname);
            }
                    
        }
        else
        {
            try
            {
            s.match[t1] = false;
            s.match[t2] = false;
            s.misses[t1] = (s.misses[t1] + 1);
            s.misses[t2] = (s.misses[t2] + 1);
            System.out.println(msgFailure + " " + a.getFish());         
            }
            catch (Exception x)
            {
                System.out.println("Error: " + x + "\n");
                this.Show(uname);
            }
        }

/* Temp comment - should be moved to Scores menu
       
            //Patrick
            s.copyArrBoo(s.match, s.matchCopy);
            s.sortBubbleBoo(s.matchCopy);
                 
            System.out.println("\n" + "Current Matches (sorted status): \n");
            try
            {
                int c = 0;
                
                for(boolean b : s.matchCopy)
                {
                    //System.out.println("Tile Rank/Matched: " + (s.matchTile[c] + 1) + "/" +  b);
                    System.out.println(b);
                    c++;
                    
                    //Track number of tiles matched
                    if(b == true)
                    {
                        s.countMatches++;
                    }
                    
                }
            }
            catch (Exception x)
            {
                System.out.println("Exception: " + x);
            }
            
            //Dawn
            
            s.copyArrInt(s.misses, s.missesCopy);
            s.sortNumBubble(s.missesCopy);
            
            int missesMax = s.missesCopy.length;
            
            System.out.println("\n" + "Current Misses (sorted by most missed): \n");
            try
            {
                for(int i = 1; i < missesMax; i++)
                {
                    //System.out.println("Tile " + i + ": " + s.missesCopy[i]);
                    System.out.println(s.missesCopy[i]);
                }
            }
            catch (Exception x)
            {
                // Ignore 
            }
*/            
            System.out.println("");
            
        //If matched tiles = tilePairs, exit loop via Continue
        if(s.countMatches == t.getTilePairs())
        {
            count = t.getIntTiles();
            continue;
        }
            
        continue;
        
       }
        //Moves answerMoves = new Moves();
        //answerMoves.getMatch(moves.getInput(prompt1, true), moves.getInput(prompt2, true));
        
        /*do
        {
            Show(uname);          
        }
        
        while (t1 != 0 || t2 != 0);*/
        
//        Score answerScore = new Score();
//        answerScore.getScore();
//        long endTime   = System.currentTimeMillis();
//        for(endTime, startTime){
//            long totalTime = endTime - startTime;
//            System.out.println("Your play time is " + totalTime);
//    }
    }