Point2D randomGoal(Game game, Point2D pt){
             Point2D candidatePt = pt;
             Tile fTile = game.getMap().getTileAt(pt);
             Rectangle2D fRect = fTile.getArea();
             double fwidth = fRect.getWidth();
             double fheight = fRect.getHeight();
             int n = 50;
             boolean notFound = true;

             if (fwidth >= fheight){

               while (n > 0 && ! notFound){
                  double x = fRect.getX() + (fwidth * fRandom.nextDouble());
                  candidatePt = new Point2D.Double(x, fRect.getCenterY());

                  if (CollisionDetection.canOccupy(game, fCreature, candidatePt)){
                      notFound = false;
                  }

                  n = n--;
               }

             }
             else {

               while (n > 0 && ! notFound){
                  double y = fRect.getY() + (fheight * fRandom.nextDouble());
                  candidatePt = new Point2D.Double(fRect.getCenterX(), y);

                  if (CollisionDetection.canOccupy(game, fCreature, candidatePt)){
                      notFound = false;
                  }

                  n = n--;
               }
             }

             if (notFound){ candidatePt = pt; }

             return candidatePt;
        }