1。的描述如下:
// 产生牌的随机序列
int iContainer[54];
for(int iCount = 0 ;iCount < 54 ;iCount++)
{
Random r = new Random();
int iTmp = r.nextInt()%54 ;
for(int iCount2 = 0 ;iCount2 < 54; iCount2++)
{
int iPos = (iTmp+iCount2)%54;
if (iContainer[iPos] != 0)
{
iContainer[iPos] = iCount + 1;
break;
}
}
}//甲乙按照顺序抽派就行了2.的描述
// 产生顺序的牌
int iContainer[54];
for(int iCount = 0 ;iCount < 54 ;iCount++)
{
iContaniner[iCount] = iCount + 1;
}//抽牌5张牌的代码
for(int iCount = 0;iCount <5 ;iCount ++)
{
Random r = new Random();
int iTmp = r.nextInt()%54 ; for(int iCount2 = 0 ;iCount2 < 54 ;iCount2++)
{
int iPos = (iTmp+iCount2)%2;
if (iContaniner[iPos] != 0)
{
//coding to fetch it by youself
iContaniner[iPos] = 0 ;
break;
}
}
}
// 产生牌的随机序列
int iContainer[54];
for(int iCount = 0 ;iCount < 54 ;iCount++)
{
Random r = new Random();
int iTmp = r.nextInt()%54 ;
for(int iCount2 = 0 ;iCount2 < 54; iCount2++)
{
int iPos = (iTmp+iCount2)%54;
if (iContainer[iPos] != 0)
{
iContainer[iPos] = iCount + 1;
break;
}
}
}//甲乙按照顺序抽派就行了2.的描述
// 产生顺序的牌
int iContainer[54];
for(int iCount = 0 ;iCount < 54 ;iCount++)
{
iContaniner[iCount] = iCount + 1;
}//抽牌5张牌的代码
for(int iCount = 0;iCount <5 ;iCount ++)
{
Random r = new Random();
int iTmp = r.nextInt()%54 ; for(int iCount2 = 0 ;iCount2 < 54 ;iCount2++)
{
int iPos = (iTmp+iCount2)%2;
if (iContaniner[iPos] != 0)
{
//coding to fetch it by youself
iContaniner[iPos] = 0 ;
break;
}
}
}
然后生成一个随机数r(0-1)
取出一张就remove()一张
r乘(53-i)之后得到的数四舍五入就可以得到一张牌,i为你取牌的次数
定义一个Object代表每张扑克牌,它有value(值,如3),color(花色,如方片) 2个属性。然后定义一个长度为52的ArrayList,用来存储52张扑克牌。用Object来填充。然后再定义4个长度为13的ArrayList用来存储每个人将要发到的牌。做一个13*4的循环随机从上面长度为52的ArrayList中抽取牌填入长度为13的ArrayList。填充完毕,依次遍历每个长度为13的ArrayList,打印出Object的值和花色。
http://expert.csdn.net/Expert/topic/2706/2706101.xml?temp=.8718378