Карточная игра в дурака

 

 

Программирование

   
 
 
 
 

Главная

 

 

   Как играть в игру
 

 

Правила игр
Изменения правил

Игра мышью
Игра клавиатурой

Игра по сети
Горячие клавиши

 

  Опции игры
 

 

Карты

Фон стола

Рубашка

Звук
Статистика

Сеть
Общие
Помощник

Игроки
Справка

FAQ

 

  Библиотека
 

 

Предисловие

История карт

Гадания на картах

Карточные игры

Пасьянсы

Карточный словарь

Карточные фокусы

Шулера и их приемы

Программирование

Фильмы

 

  Об игре
 

 

Об игре

Об алгоритме

Об авторе

История игры

Лицензия

Скачать

Архив

 

  Добавить сайт
 

 

 

  О сайте
 

 

Карта сайта

Благодарность

Ссылки

Статьи

 

 

 

 

 

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

___________________________________________________________________________

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2001 Конюхов Александр.

Служба поддержки mail@durbetsel.ru