This webpage has been robot translated, sorry for typos if any. To view the original content of the page, simply replace the translation subdomain with www in the address bar or use this link.

Алгоритм тасования карт в карточных играх компании 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