麻将算法(1)发牌数据分析

void Shuffle(int *Pai)
{
    int i;
    srand((unsigned)time(NULL));
/*
*    条筒万,每种四组,每组9张,共计108张
*    00,01,02,03,04,05,06,07,08     (1-9)     
*    00,01,02,03,04,05,06,07,08
*    00,01,02,03,04,05,06,07,08
*    00,01,02,03,04,05,06,07,08
*     
*    10,11,12,13,14,15,16,17,18
*    10,11,12,13,14,15,16,17,18
*    10,11,12,13,14,15,16,17,18
*    10,11,12,13,14,15,16,17,18
*    
*    20,21,22,23,24,25,26,27,28
*    20,21,22,23,24,25,26,27,28
*    20,21,22,23,24,25,26,27,28
*    20,21,22,23,24,25,26,27,28
*/
    for(i=0; i<108; i++)
    {
        Pai[i] = i/36*10 + i%9;
    }
    // 顺序打乱 
    for(i=0; i<108; i++)
    {
        swap(Pai[i], Pai[rand()%108]);    
    }    
}

01,11,21 十位数区分各个色牌, 个位区分各牌的值 : 

依此 读 一条,一筒,一万;

原文地址:https://www.cnblogs.com/toolbear/p/2954035.html