private void reDraw()
    {   
        hitCount = 0;
        p.removeAll();
        
        for(int i = 0; i < nums.length; i++)
        {
            
            for(int j = 0; j < nums[0].length; j++ )
            {
                if( nums[i][j] == 0)
                    p.add( dots[i][j] == 0 ? (new JLabel (ground)) : (new JLabel (groundDot)));
                else if( nums[i][j] == 1)
                    p.add( new JLabel(wall));
                else if( nums[i][j] == 2)
                {
                    if(dots[i][j] == 0)
                        p.add( new JLabel(box ));
                    else
                    {
                        p.add( new JLabel(boxDot));                        
                        hitCount++;
                    }
                }
                else
                    p.add( dots[i][j] == 0 ? (new JLabel(guy)) : (new JLabel(guyDot)));
            }
            
           //Player wins 
           if(hitCount == numBoxes)
           {
        	   isGameOver = true;
        	   t.stop();
        	   setEarnedPercentage();
        	   resultLabel.setText("You won!");
        	   experience.setText("Exp: "+earnedPercentage);
        	   exit.setVisible(true);
        	   resultLabel.setVisible(true);
           }
           
//	        Enables to go to the next level            
//          if(hitCount == numBoxes)
//          {                
//               welldone.setVisible(true);
//          }
            
        }
        
        p.repaint();
        p.validate();
        levelLabel.setText("Level: " + currentLevel);
        countLabel.setText("Moves: " + moveCount);
        
        controlPanel.repaint();
        controlPanel.validate();
        
        
    }