斗地主明牌农民怎么赢简单么

1184人阅读
*这是一个java实现的斗地主,发牌结果的程序,实现3个人十三张牌,然后底牌3张。
import java.util.A
public class pokerDemo{
public static void main(String[] args) {
/*生成一副牌的数字,简称牌库*/
int[]pkCode=new int[54];
for(int i=0;i&54;i++){
pkCode[i]=i;
String[]color={&方&,&梅&,&红&,&黑&};
String[]num={&3&,&4&,&5&,&6&,&7&,&8&,&9&,&10&,&J&,&Q&,&K&,&A&,&2&};
/*生成数组实现空的54个位置,存放随机洗牌后的牌,简称牌位*/
int[]pk=new int[54];
for(int i=0;i&pk.i++){
/*随机生成数字*/
int index=(int)(Math.random()*(pk.length-i));
/*将生成的下标对应的牌存入54个空牌位。然后将原来牌库中拿到的牌移除,并重新洗牌*/
pk[i]=pkCode[index];
remove(pkCode,index);
/*生成三个用户以及底牌三张*/
int[]pk1=new int[17];
int[]pk2=new int[17];
int[]pk3=new int[17];
int[]dz=new int[3];
/*将得到的牌拷贝倒数组当中 ,用于排列*/
System.arraycopy(pk, 0, pk1, 0, 17);
System.arraycopy(pk, 17, pk2, 0, 17);
System.arraycopy(pk, 34, pk3, 0, 17);
System.arraycopy(pk, 51, dz, 0,3);
sort(pk1);
sort(pk2);
sort(pk3);
/*声明最后存放牌结果的数组*/
String []pk1Char = new String[17];
String []pk2Char = new String[17];
String []pk3Char = new String[17];
String []dzChar = new String[3];
/*调用花色生成方法,并复制结果到最后的结果String 数组当中*/
copy(pk1,pk1Char,color,num);
copy(pk2,pk2Char,color,num);
copy(pk3,pk3Char,color,num);
copy(dz,dzChar,color,num);
/*打印输出结果*/
System.out.println(Arrays.toString(pk1Char));
System.out.println(Arrays.toString(pk2Char));
System.out.println(Arrays.toString(pk3Char));
System.out.println(Arrays.toString(dzChar));
public static void sort(int[]a){
for(int i=1;i&a.i++){
for(int j=0;j&i;j++){
if(a[j]&a[i]){
int temp=a[j];
a[j]=a[i];
/*移除,从牌库中移除随机生成后牌*/
public static void remove(int[]a,int index){
for(int i=i&a.length-1;i++){
a[i]=a[i+1];
/*生成花色,复制到最后的发牌结果中*/
public static void copy(int[]a,String[]d
,String[]color,String[]num){
for(int i=0;i&a.i++){
int index=a[i];
/*53张为小王*/
if(index==52)d[i]=&小王&;
/*54张为大王*/
else if(index==53)d[i]=&大王&;
/*花色根据下标对4取余的结果来得到四种花色中的随机值*/
d[i]=color[index%4]+num[index/4];
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:27473次
排名:千里之外
原创:18篇
(1)(1)(2)(1)(2)(12)(5)(3)玩斗地主简单实战的稳赢方法_详细讲解_爱问知识人 - 发一发信息网
您可能感兴趣的

我要回帖

更多关于 斗地主怎么记牌 的文章

 

随机推荐