资源简介
每张牌都有花色和数字两个属性。纸牌游戏有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开发工程师述职报告
- JAVA基于J2ME的手机游戏开发(论文+源
- javafx版高校人员管理系统
- 基于JAVA的医院挂号服务系统
- JAVA本地监听与远程端口扫描源码+论文
- 创建一个PEOPLE类
- Java设计模式刘伟书本中模拟考试答案
- Java设计模式刘伟课后习题答案
- java电影购票系统
- JAVA 连连看游戏
- java大作业,科学计算器
- JAVA实现简单的机票管理系统
- JSP项目技术源代码(15个项目)
- Java Web程序设计教程-源代码
- java源码包4
- 捕鱼达人java版源码
- 设计模式JAVA版(高清修正版)_刘伟
- RSA数字签名算法的具体实现
- 数十个手机JAVA 320X480触摸大屏游戏
- JAVA JSP车辆管理系统
- Java课程设计酒店管理系统+报告文档
- javaqq私聊+群聊+截图+文件传送等源码
- Java Web学校餐费管理系统
- Java的web在线考试系统设计(含源码
- JAVA JSP企业车辆管理系统 源代码 论文
- JAVA开发实战经典(名师讲坛)].李兴
- JavaWeb网上图书商城完整项目资料
- maven+ssm 实现java版视频上传预览
- java贪吃蛇课程设计156714
- java飞机大战156086
评论
共有 条评论