资源简介
每张牌都有花色和数字两个属性。纸牌游戏有2副牌参与(没有Joker,共104张),
应有洗牌(将所有牌打乱)、发5张牌、判断游戏胜利、判断游戏失败的功能。
每次发牌后程序自动为5张牌排序、游戏胜利条件为5张牌中至少有2张是完全相同的,或者5张同花色,或者5张为顺子(如数字为34567);
如果不满足游戏结束条件则继续在从剩下的牌中发5张;直到最后不足5张,游戏失败。

代码片段和文件信息
/*
* To change this template choose Tools | Templates
* and open the template in the editor.
*/
package two6;
import java.util.*;
/**
*
* @author Administrator
*/
public class PlayCard {
public static ArrayList cardGroup =new ArrayList();
public static ArrayList aa = new ArrayList();
public static final String[] COLORS=new String[]{“方块““梅花““红桃““黑桃“};
public static final String[] CARDVALUES=new String[]{“A““2““3““4““5““6““7““8““9““10““J““Q““K“};
public static void initCardGroup(ArrayList ss)//初始化一副扑克
{//加入A~K
for(int i=0;i<13;i++)
{
for (int j=0;j<4;j++)
{ //生成一张牌的对象
Card card=new Card();
card.id=i;
card.color=COLORS[j];
card.num=CARDVALUES[i];
//将对象加入牌组
ss.add(card);
}
}
}
public static ArrayList flushCardsGroup(ArrayList src)//洗牌
{
ArrayList result=new ArrayList();
while(src.size()>0){
int size=src.size();
//以size为限,生成0~size之间的随机数
Random r=new Random();
int index=r.nextInt(size);
//对index做个检查
if(index<0){index=0;}
if(index>size-1){index=size-1;}
//index就是捡出来的牌,加到新的数组中,从原来数组中删除
Card card=src.get(index);
result.add(card);
src.remove(index);
}
return result;
}
public static ArrayList Play(ArrayList ss)//发牌
{
ArrayList a = new ArrayList();
for(int i = 0 ;i <5 ; i ++ )
{
int size = ss.size();
Random r = new Random();
int index = r.nextInt(size);
Card card = ss.get(index);
a.add(card);
ss.remove(index);
}
return a;
}
public static int Test()
{
while(cardGroup.size()>=5)
{
aa=Play(cardGroup);
Card []bb = new Card[5];
for(int i = 0 ;i <5 ;i++)
{
bb[i] = aa.get(i);
}
Arrays.sort(bb);
System.out.println(“five cards: “);
for(int i = 0;i < 5;i++)
{
System.out.print( bb[i].color+““+bb[i].num+“ “);
}
System.out.println(““);
if(aa.get(0).color.equals(aa.get(1).color)&& aa.get(0).color.equals(aa.get(2).color)&&
aa.get(0).color.equals(aa.get(3).color)&&aa.get(0).color.equals(aa.get(4).color))
return 1;
else if(bb[4].id - bb[0].id == 4)
return 1;
else
{
for(int i =1 ;i < 5;i++)
{
for(int j = 0; j <5- i;j++)
{
if(bb[j].id == bb[j+1].id&&bb[j].color.equals(bb[j+1].color))
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 0 2010-09-19 19:03 TWO6\build\classes\.netbeans_automatic_build
文件 635 2010-09-25 00:18 TWO6\build\classes\two6\Card.class
文件 3438 2010-09-25 00:18 TWO6\build\classes\two6\PlayCard.class
文件 26 2010-09-19 19:03 TWO6\build\classes\two6\PlayCard.rs
文件 3707 2010-09-19 12:06 TWO6\build.xm
文件 85 2010-09-19 12:06 TWO6\manifest.mf
文件 43227 2010-09-19 12:06 TWO6\nbproject\build-impl.xm
文件 475 2010-09-19 12:06 TWO6\nbproject\genfiles.properties
文件 216 2010-09-19 12:06 TWO6\nbproject\private\private.properties
文件 211 2010-09-25 00:20 TWO6\nbproject\private\private.xm
文件 2035 2010-09-19 12:06 TWO6\nbproject\project.properties
文件 512 2010-09-19 12:06 TWO6\nbproject\project.xm
文件 4094 2010-09-25 00:18 TWO6\src\two6\PlayCard.java
目录 0 2010-09-25 00:18 TWO6\build\classes\two6
目录 0 2010-09-19 19:03 TWO6\build\classes
目录 0 2010-09-19 19:56 TWO6\nbproject\private
目录 0 2010-09-19 12:06 TWO6\src\two6
目录 0 2010-09-19 19:03 TWO6\build
目录 0 2010-09-19 12:06 TWO6\nbproject
目录 0 2010-09-19 12:06 TWO6\src
目录 0 2010-09-19 12:06 TWO6\test
目录 0 2010-09-19 19:03 TWO6
----------- --------- ---------- ----- ----
58661 22
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论