java写出⽃地主的发牌的代码
第⼀回写,见谅。
话不多说直接上代码
package com.doudizhu;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Random;
import java.util.Scanner;
import java.util.TreeSet;
/
**
* @Description
* @author sy email:869181257@qq
* @version
* @date Dec 22, 20202:17:56 PM
*/
public class Demo4 {
/*
* ⽃地主的洗牌和发牌
*/
//1.有⼀副扑克,54张牌,4种花⾊(345678910JQKA2),⼤⼩王
public static void main(String[] args){
String[] num={"2","A","K","Q","J","10","9","8","7","6","5","4","3"};
String[] color={"⽅⽚","梅花","红桃","⿊桃"};
ArrayList<Integer> list=new ArrayList<>();
HashMap<Integer, String> hm=new HashMap<>();
int index=0;
for(String s1 : num){
java中index是什么意思for(String s2 : color){
hm.put(index, s2.concat(s1));
list.add(index);
index++;
}
}
hm.put(index,"⼤王");
list.add(index);
index++;
hm.put(index,"⼩王");
//      给数字上⾊,放⼊集合中。给index下标。
//洗牌功能
Collections.shuffle(list);
//发牌
TreeSet<Integer> gaojin=new TreeSet<>();
TreeSet<Integer> runfa=new TreeSet<>();
TreeSet<Integer> me=new TreeSet<>();
TreeSet<Integer> dipai=new TreeSet<>();
for(int i =0; i < list.size(); i++){
if(i>=list.size()-3){
dipai.(i));
}else if(i%3==0){
gaojin.(i));
}else if(i%3==1){
runfa.(i));
}else{
me.(i));
}
}
}
lookPoker("⾼进",gaojin,hm);
lookPoker("周润发",runfa,hm);
lookPoker("付哥",me,hm);
lookPoker("底牌",dipai,hm);
}
public static void lookPoker(String name,TreeSet<Integer> ts,HashMap<Integer,String> hm){
System.out.println(name+"的牌是:");
for(Integer index : ts){
System.out.(index)+" ");
}
System.out.println();
}
}
洗牌直接⽤的是
Collections集合下的shuffle();⽅法,这个跟现实中同等概率洗牌差不多。也⾮常的⽅便。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。