您的位置:首页 > 编程语言 > Java开发

Java集合实现斗地主功能

2017-09-13 17:33 489 查看
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;

/*
* 实现斗地主功能
* 1.组合牌
* 2.洗牌
* 3.发牌
* 4.看牌
*/
public class DouDiZhu {
public static void main(String[] args) {
//1.组合牌
HashMap<Integer, String> pooker=new HashMap<Integer, String>();

ArrayList<Integer> pookerNumber=new ArrayList<Integer>();

String[] numbers={"2","A","K","Q","J","10","9","8","7","6","5","4","3"};
String[] colors={"桃花","红桃","梅花","方块"};
int index=2;
for (String number : numbers) {
for (String color : colors) {
pooker.put(index, color+number);
pookerNumber.add(index);
index++;
}
}
pooker.put(0, "大王");
pookerNumber.add(0);

pooker.put(1, "小王");
pookerNumber.add(1);

//洗牌,将牌的编号打乱
Collections.shuffle(pookerNumber);

//发牌,将牌的编号发给玩家集合和底牌集合
ArrayList<Integer> player1=new ArrayList<Integer>();
ArrayList<Integer> player2=new ArrayList<Integer>();
ArrayList<Integer> player3=new ArrayList<Integer>();
ArrayList<Integer> bottom=new ArrayList<Integer>();

for (int i = 0; i < pookerNumber.size(); i++) {
//先做好底牌
if (i<3) {
bottom.add(pookerNumber.get(i));
}
//对索引%3判断
if (i%3==0) {
player1.add(pookerNumber.get(i));
}else if (i%3==1) {
player2.add(pookerNumber.get(i));
}else if (i%3==2) {
player3.add(pookerNumber.get(i));
}
}
//看牌,将玩家手中的编号到Map集合中查找,根据键找值
Collections.sort(player1);
Collections.sort(player2);
Collections.sort(player3);
//定义方法实现
look("玩家1",player1, pooker);
look("玩家2",player2, pooker);
look("玩家3",player3, pooker);
look("底牌",bottom, pooker);
}
public static void look(String name,ArrayList<Integer> player,HashMap<Integer, String> poker){
//遍历ArrayList集合
System.out.print(name+" ");
for (Integer key : player) {
String value=poker.get(key);
System.out.print(value+" ");
}
System.out.println();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: