首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > 为完成的-发牌游戏
【标  题】:为完成的-发牌游戏
【关键字】:
【来  源】:http://blog.csdn.net/AngelLiujia/archive/2006/11/06/1370356.aspx

为完成的-发牌游戏


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(); 
 }

}
 

Tapestry学习开始了:【上一篇】
java 解zip文件(ZipInputStream):【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • JScript 方法 - charCodeAt 方法
  • 键盘和鼠标事件测试
  • fedora4下nvidia驱动的安装
  • 手工优化你的Windows系统
  • 找了你好久:收藏夹内网站按字母排序
  • 专家:提高网络速度的七条新思路
  • IBM小型机日常维护常用命令
  • 用flash制作冲击波文字效果
  • 传奇世界 元宝的第三种用途-保值增值
  • 新一代系统更新服务器WUS预览
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.