Алгоритм тасования карт в карточных играх компании Microsoft

Данный алгоритм написан на языке программирования С++ и реализован в среде программирования Microsoft Visual C++.

_____________________________

#define BLACK 0 // COLOUR(card)
#define RED 1

#define ACE 0 // VALUE(card)
#define DEUCE 1

#define CLUB 0 // SUIT(card)
#define DIAMOND 1
#define HEART 2
#define SPADE 3

#define SUIT(card) ((card) % 4)
#define VALUE(card) ((card) / 4)
#define COLOUR(card) (SUIT(card) == DIAMOND || SUIT(card) ==HEART)

#define MAXPOS 21
#define MAXCOL 9 // includes top row as column 0
CARD card[MAXCOL][MAXPOS]; // current layout of cards, CARDs are
ints
{
int i, j; // generic counters
int col, pos;
int wLeft = 52; // cards left to be chosen in shuffle
CARD deck[52]; // deck of 52 unique cards

for (col = 0; col < MAXCOL; col++) // clear the deck
for (pos = 0; pos < MAXPOS; pos++)
card[col][pos] = EMPTY;

/* shuffle cards */

for (i = 0; i < 52; i++)  // put unique card in each deck loc.
deck[i] = i;

srand(gamenumber); // gamenumber is seed for rand()
for (i = 0; i < 52; i++)
{
 j = rand() % wLeft;
card[(i%8)+1][i/8] = deck[j];
deck[j] = deck[--wLeft];
}
}
___________________________
 


Дата створення/оновлення: 25.05.2018

stop war in Ukraine

ukrTrident

stand with Ukraine