當前位置:編程學習大全網 - 源碼下載 - Time.h源代碼

Time.h源代碼

# include & lttime.h & gt

# include & ltiostream & gt

# include & lt字符串& gt

# include & ltvector & gt

枚舉em_CardClass_t

{

_CC_hearts = 0,// hearts

_CC_Spade,//黑桃

_CC_Clubs,//俱樂部

_CC_Diamonds,// box

_CC_King //尺寸之王

};

結構st _卡_t

{

em _ CardClass _ t _ emCardClass

UINT _ uCardIndex// _emCardClass為_CC_King,為有效值。

// _emCardClass不是_CC_King,有效值是[1,13]。

};

使用命名空間std

void InitCard(vector & lt;st _ Card _ t & gt& ampvtCard)

{

st_Card_t卡;

for(UINT I = 0;我& lt_ CC _ Kingi++)

{

卡。_ em card class =(em _ card class _ t)I;

for(UINT j = 1;j & lt14;j++)

{

卡。_ uCardIndex = j;

vt card . push _ back(card);

}

}

卡。_ emCardClass = _ CC _ King

卡。_ uCardIndex = 1;

vt card . push _ back(card);

卡。_ uCardIndex = 2;

vt card . push _ back(card);

}

//分牌

void deal card(vector & lt;st _ Card _ t & gt& ampvtCard,vector & ltst _ Card _ t & gt& ampvtPlayer1,

向量& ltst _ Card _ t & gt& ampvtPlayer2,vector & ltst _ Card _ t & gt& amp虛擬播放器3)

{

srand((無符號)時間(空));

for(int I = 0;我& lt51;i++)

{

int iCard = rand()% vt card . size();

開關(i % 3)

{

案例0:

vt player 1 . push _ back(vt card[iCard]);

打破;

案例1:

vt player 2 . push _ back(vt card[iCard]);

打破;

默認值:

vt player 3 . push _ back(vt card[iCard]);

打破;

}

如果(iCard!= vtCard.size()-1)

{

vt card[iCard]= vt card[vt card . size()-1];

}

vt card . pop _ back();

}

}

//出價

int Bid(vector & lt;st _ Card _ t & gt& ampvtCard,vector & ltst _ Card _ t & gt& ampvtPlayer1,

向量& ltst _ Card _ t & gt& ampvtPlayer2,vector & ltst _ Card _ t & gt& amp虛擬播放器3)

{

srand((無符號)時間(空));

int I bider = rand()% 3;//投標人是樓主。

向量& ltst _ Card _ t & gt* pPlayer = NULL

開關(iBider)

{

案例0:

pPlayer = & ampvt player 1;

打破;

案例1:

pPlayer = & ampvtPlayer2

打破;

默認值:

pPlayer = & ampvtPlayer3

打破;

}

for(UINT I = 0;我& ltvt card . size();i++)

{

pPlayer-& gt;push _ back(vt card[I]);

}

返回iBider

}

//整張牌(按照紅心、黑桃、梅花、方塊、小王的順序排序,同壹花色按照從小到大的順序排序)

void SortCard(向量& ltst _ Card _ t & gt& ampvtPlayer)

{

st _ Card _ t tmp

for(UINT I = 0;我& ltvt player . size()-1;i++)

{

for(UINT j = I+1;j & ltvt player . size();j++)

{

if( vtPlayer[i]._ emCardClass & ltvtPlayer[j]。_emCardClass)

{

繼續;

}

if( vtPlayer[i]._emCardClass == vtPlayer[j]。_ emCardClass & amp& amp

vtPlayer[i]。_ uCardIndex & ltvtPlayer[j]。_uCardIndex)

{

繼續;

}

tmp = vt player[I];

vt player[I]= vt player[j];

vt player[j]= tmp;

}

}

}

void PrintPlayerCard(const string & amp;sPlayerName,

常量向量& ltst _ Card _ t & gt& ampvtPlayer)

{

cout & lt& ltsPlayerName & lt& lt"卡片:" & lt& ltendl

for(UINT I = 0;我& ltvt player . size();i++)

{

開關(vtPlayer[i]。_emCardClass)

{

案例_抄送_紅心:

cout & lt& lt“心”;

打破;

case _CC_Spade:

cout & lt& lt“黑桃”;

打破;

案例_抄送_俱樂部:

cout & lt& lt《梅花》;

打破;

案例_ CC _鉆石:

cout & lt& lt“方”;

打破;

默認值:

cout & lt& lt《王者》;

打破;

}

cout & lt& ltvtPlayer[i]。_ uCardIndex & lt& lt" ";

}

cout & lt& ltendl & lt& ltendl

}

void main()

{

向量& ltst _ Card _ t & gtvtCard

向量& ltst _ Card _ t & gtvt player 1;

向量& ltst _ Card _ t & gtvtPlayer2

向量& ltst _ Card _ t & gtvtPlayer3

init card(vt card);

DealCard(vtCard,vtPlayer1,vtPlayer2,vt player 3);

int iBider = Bid(vtCard,vtPlayer1,vtPlayer2,vt player 3);

sort card(vt player 1);

sort card(vt player 2);

sort card(vt player 3);

PrintPlayerCard("Player1 ",vt player 1);

PrintPlayerCard("Player2 ",vt player 2);

PrintPlayerCard("Player3 ",vt player 3);

cout & lt& lt“樓主是玩家”

}

  • 上一篇:Ntpd源代碼
  • 下一篇:在線海報制作網站-有哪些可以在線制作海報的平臺值得推薦?
  • copyright 2024編程學習大全網