for(x=0;x<=times;x++)
{
split=getRandInt(20,35);
Decktopdeck;
Deckbottomdeck;
inti;
intbottomdeckindex=1;
inttopdeckindex=1;
for(i=0;i<=split-1;)
{
topdeck.m_cardarray[topdeckindex]=this->m_cardarray[i];
topdeckindex++;
i++;
}
for(i=(split);i<54;)
{
bottomdeck.m_cardarray[bottomdeckindex]=this->m_cardarray[i];
bottomdeckindex++;
i++;
}
intdeckoutindex=0;
intnumcardstomovetop;
intnumcardstomovebottom;
intj;
inth=0;
bottomdeckindex=54-split;
topdeckindex=split;
while(deckoutindex<=53)
{
numcardstomovetop=getRandInt(2,7);
numcardstomovebottom=getRandInt(2,7);
for(j=0;j<=numcardstomovebottom;j++)
{
if(bottomdeckindex>0)
{
this->m_cardarray[deckoutindex]=bottomdeck.m_cardarray[bottomdeckindex];
deckoutindex++;
bottomdeckindex--;
}
for(h=0;h<=numcardstomovetop;h++)
{
if((topdeckindex>0)&&(deckoutindex<=54))
{
this->m_cardarray[deckoutindex]=topdeck.m_cardarray[topdeckindex];
deckoutindex++;
topdeckindex--;
}
}
}
}
}
this->m_lastdelt=-1;
}
//*******************************************************************
voidDeck:
:
Senddeck()//依次分发给4个人并显示
{
intm_player,n_player;
intplayer1=0,player2=0,player3=0,player4=0;
this->m_lastdelt=53;
Playing_Cardplayeri[2][14];
Playing_Cardplayerj[2][13];
inttime=0;
while(time<13)
{
m_player=0,n_player=0;
playeri[m_player][player1]=this->m_cardarray[m_lastdelt];
m_player++;player1++;m_lastdelt--;
playeri[m_player][player2]=this->m_cardarray[m_lastdelt];
player2++;m_lastdelt--;
playerj[n_player][player3]=this->m_cardarray[m_lastdelt];
n_player++;player3++;m_lastdelt--;
playerj[n_player][player4]=this->m_cardarray[m_lastdelt];
player4++;m_lastdelt--;
time++;
}
playeri[0][13]=this->m_cardarray[1];
playeri[1][13]=this->m_cardarray[0];
for(inti=0;i<=3;i++)
{
cout<<"player"<
";
if(i<=1)
{
for(intj=0;j<=13;j++)
{
playeri[i][j].showcard();
}
}
else
{
for(intj=0;j<=12;j++)
{
playerj[i-2][j].showcard();
}
}
cout<<'\n';
}
}
//*******************************************************************
voidprog_close()//退出
{
cout<cout<<"HitthekeytoContinue.."<cout<Get_Key();
cin.get();
}
//*******************************************************************
voidDeck:
:
Remove_Card()//删除一张牌。
{
m_cardarray[m_lastdelt]=Playing_Card();
}
intk=53,j=0;
//*******************************************************************
voidDeck:
:
Deal_One()
{
j++;
inti=0;
intcardnum1,cardnum2;
intnum=1;
if(k<0)
cout<<"OutofrangeError";
else
{
m_lastdelt=getRandInt(0,k);
cardnum1=m_lastdelt;
cardnum2=m_lastdelt;
Deckdeck1;
cout<<"carddelt";
m_cardarray[m_lastdelt].showcard();
cout<<'\n';
cardnum2++;
while(cardnum2<54)
{
deck1.m_cardarray[i]=this->m_cardarray[cardnum2];
i++;cardnum2++;
}
i=0;
while(cardnum1+j<54)
{
this->m_cardarray[cardnum1]=deck1.m_cardarray[i];
cardnum1++;i++;
}
i=0;
cout<<"cardleft"<<'\n';
while(i+j<54)
{
this->m_cardarray[i].showcard();
if(num%11==0)cout<<'\n';
num++;i++;
}
}
k--;
}
//*******************************************************************
Deck:
:
Deck()
{
intlastdelt=0;
inti;
for(i=0;i<=53;i++)
{
m_cardarray[1]=Playing_Card();
}
}