home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d1xx / d186 / cards'o'rama.lha / Cards'O'Rama / Sources / sources.zoo / shufflecards.c < prev    next >
C/C++ Source or Header  |  1989-02-25  |  1KB  |  43 lines

  1. /*                           shufflecards.c                             */
  2. /*                                                                      */
  3. /* Tiny cards shuffler used by main()...                                */
  4.  
  5. shufflecards()
  6.    {
  7.    extern UWORD mycardsposition[];
  8.    extern int shuffles;                            /* How many times */
  9.  
  10.    int times;
  11.    UWORD temp;
  12.    int oldnumber, newnumber;
  13.  
  14.    for (times = 0; times < shuffles; times++)
  15.       {
  16.       oldnumber = customrand(1, 32);               /* Range: 1 - 32 */
  17.       temp = mycardsposition[oldnumber];
  18.  
  19.       do
  20.          newnumber = customrand(1, 32);
  21.       while (newnumber == oldnumber);
  22.  
  23.       mycardsposition[oldnumber] = mycardsposition[newnumber];
  24.       mycardsposition[newnumber] = temp;
  25.       }
  26.    return(0);
  27.    }
  28.  
  29.  
  30.  
  31. customrand(lower, upper)
  32.    int lower, upper;
  33.  
  34.    {
  35.    float number;
  36.    int result;
  37.  
  38.    upper += 1;
  39.    number = ((float)rand()/SCALE) * ((float)upper - lower) + lower;
  40.    result = (int)number;
  41.    return(result);
  42.    }
  43.