public void mouseClicked(MouseEvent e)
      {
      System.out.println( "MOUSE CLICKED at coordinates " + e.getPoint() ); 
      /* only do something if it is time to select a pawn
       */
      if ( timeToSelect )
         {
         for ( int cp = 0; cp < cPawns.size(); cp++ )
            {
            if (  (e.getPoint().getX() > ( 8 + cPawns.get(cp).getPosX() * 40 ) ) && ( e.getPoint().getX() < ( 35 + cPawns.get(cp).getPosX() * 40 ) ) && ( e.getPoint().getY() > ( 8 + cPawns.get(cp).getPosY() * 40 ) && e.getPoint().getY() < ( 35 + cPawns.get(cp).getPosY() * 40 ) ) )
               {
               selectedPawn = cPawns.get(cp);
               System.out.println( selectedPawn + " was selected..." );
               }
            }
         
         /*This is polymorphism because this is referencing the "act" method in the abstract card class,
          *but depending on the actual type card that is stored as pickedCard, it can be calling 8 different "act" methods
          */
         pickedCard.act( selectedPawn, this );
         if ( timeToChooseAgain == false )
             {
             incrementTurn(); 
             }
         repaint();
         }            
      }