/*                           shufflecards.c                             */
/*                                                                      */
/* Tiny cards shuffler used by main()...                                */

shufflecards()
   {
   extern UWORD mycardsposition[];
   extern int shuffles;                            /* How many times */

   int times;
   UWORD temp;
   int oldnumber, newnumber;

   for (times = 0; times < shuffles; times++)
      {
      oldnumber = customrand(1, 32);               /* Range: 1 - 32 */
      temp = mycardsposition[oldnumber];

      do
         newnumber = customrand(1, 32);
      while (newnumber == oldnumber);

      mycardsposition[oldnumber] = mycardsposition[newnumber];
      mycardsposition[newnumber] = temp;
      }
   return(0);
   }



customrand(lower, upper)
   int lower, upper;

   {
   float number;
   int result;

   upper += 1;
   number = ((float)rand()/SCALE) * ((float)upper - lower) + lower;
   result = (int)number;
   return(result);
   }
