为完成的-发牌游戏


import java.util.*;
public class z2 {
 HashSet h;
 ArrayList z=new ArrayList();
 ArrayList zj1=new ArrayList();//庄家1
 boolean z1;
 ArrayList zj2=new ArrayList();
 boolean z2;
 ArrayList zj3=new ArrayList();
 boolean z3;
 ArrayList zj4=new ArrayList ();
 boolean z4;
 int a=1;//从第一个庄家开始发
 int count=0;//循环的状态
public void x()//洗牌用的
{
// Collections.shuffle()利用这个方法可以混乱里面的排里面的数据,带2个参数
 //1是 list,2是 r
 
 float b=(float)Math.random();//用随机函数控制散列
 int b1=(int)Math.random();//用随机函数控制散列
 h=new HashSet(1,b);
 for(int i=1; i<=10 ;i++)
 {if(i==1)
 {
  h.add("黑桃A");
  h.add("红桃A");
  h.add("方片A");
  h.add("梅花A");
 }else {
 h.add("黑桃"+i);
 h.add("红桃"+i);
 h.add("方片"+i);
 h.add("梅花"+i);
 }
 }
 
 h.add("黑桃J");
 h.add("红桃J");
 h.add("方片J");
 h.add("梅花J");
 
 
 h.add("黑桃Q");
 h.add("红桃Q");
 h.add("方片Q");
 h.add("梅花Q");
 
 h.add("黑桃K");
 h.add("红桃K");
 h.add("方片K");
 h.add("梅花K");
 
 h.add("大王");
 h.add("小王");
 //h.removeAll(h);删除所用饱含h的东西
// System.out.println(h);
 //System.out.print(h.size());
 Iterator s=h.iterator();
 while(s.hasNext())
 {
  z.add(s.next());
 }
 System.out.print(z.size());
 
}

public void setF()//发牌
{
 z1=false;
 z2=false;
 z3=false;
 z4=false;
 
  
 Collections.shuffle(z); 
 count=1;
 String sos2=new String("红桃2");
 String sos;
 Iterator s=z.iterator();

 while(s.hasNext())
 {
  sos=(String)s.next(); 
  
  //sos=(String)s.next();
  if(count<=48)//因为有6张第牌发个有红桃2的庄家
  { 
   if(a==1)///给第一个庄家插数据
   {
    zj1.add(sos);
    a=2;
    if(sos.equals(sos2))
    {
     System.out.println(sos);
     z1=true;
     }
   }
   else if(a==2)
   {
    zj2.add(sos);
    a=3;
    if(sos.equals(sos2))
    {System.out.println(sos);
     z2=true;
     }
  
   } 
   else if(a==3)
   {
    zj3.add(sos);
    a=4;
   
    if(sos.equals(sos2))
    {System.out.println(sos);
     z3=true;
     }
   
   }
   else if(a==4)
   {
    zj4.add(sos);
    a=1;
    if(sos.equals(sos2))
    {
     System.out.println(sos);
     z4=true;
     }
   
   }
  }
  if(count>48)//插入剩下的底牌
  { System.out.println(sos);
   if(z1!=true||z2!=true||z3!=true)//这样做是消除a会消失得问题啊~~~~
   {
    z4=true;
   }
   if(z1==true)
   {
    zj1.add(sos);
   
   }
   else if(z2==true)
   {
    zj2.add(sos);
   }
   else if(z3==true)
   {
    zj3.add(sos);
   }
   else if(z4==true)
   {
    zj4.add(sos);
   }
   
  
  }
 
  count=count+1;
  
  //System.out.println(s.next());

 }
 System.out.println(zj1.size());
 System.out.println(zj2.size());
 System.out.println(zj3.size());
 System.out.println(zj4.size());


}
public void getPrint()
{
 System.out.println(zj1.get(11));
 
  System.out.println("第一个人的牌"+zj1.toString());
  System.out.println("第一个人的牌"+zj2.toString());
  System.out.println("第一个人的牌"+zj3.toString());
  System.out.println("第一个人的牌"+zj4.toString());}
 

 

 public static void main(String sos[])
 {
 z2 z=new z2();
 z.x();
 z.setF();
 z.getPrint(); 
 }

}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值