真三国无双6视频攻略:自动发牌:一副扑克有52张牌,打桥牌的时候将牌分给四个人。请设计个程序完成自动发牌工作

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 06:04:40

vc写的!
void CQiaopaiDlg::OnFa()
{
// TODO: Add your control notification handler code here
this->m_strj="";
this->m_strn="";
this->m_strx="";
this->m_strs="";
UpdateData(false);

srand( (unsigned)time( NULL ) );//以时间为随机种子

char b[3];
int i,y=0,m,j=0,n=0,x=0,s=0;
char se[4];
for(i=1;i<53;i++){
ji:
m=rand()%4;
y=i%4;
if(y==0)
strcpy(se,"红");
else if(y==1)
strcpy(se,"黑");
else if(y==2)
strcpy(se,"方");
else
strcpy(se,"梅");

if(m==0)
{
if(j>=13)
goto ji;
m=i%13+1;
j=j+1;
itoa(m,b,10);
m_strj=m_strj + " " + se+b;
}
else if(m==1)
{
if(n>=13)
goto ji;
n=n+1;
m=i%13+1;
itoa(m,b,10);
m_strn=m_strn + " " + se+b;
}
else if(m==2)
{
if(x>=13)
goto ji;
x=x+1;
m=i%13+1;
itoa(m,b,10);
m_strx=m_strx + " " + se+b;
}
else
{
if(s>=13)
goto ji;
s=s+1;
m=i%13+1;
itoa(m,b,10);
m_strs=m_strs + " " + se+b;
}

}
UpdateData(false);
}

int str[52]={牌的顺序}
int c=1
for a=1 to 52
for b=1 to 4
case b=1
move str[c] to man1
case b=2
move str[c] to man2
case b=3
move str[c] to man3
case b=4
move str[c] to man4
endfor
c=c++
endfor