JAVA基础2-斗地主
创建54张牌
下面展示代码
写入54张牌并给每张牌标记以便于后面排序并洗乱
ArrayList pokes = new ArrayList<>();
List colors = new ArrayList<>();
List numbers = new ArrayList<>();
Map<Integer, String> poker = new HashMap<>();//定义的牌面
colors.add(“♥”);
colors.add(“♠”);
colors.add(“♦”);
colors.add(“♣”);
numbers.add(“A”);
for(int i=2;i<=10;i++){
numbers.add(i+"");
}
numbers.add(“J”);
numbers.add(“Q”);
numbers.add(“K”);
int index=0;
for (String n : numbers) {
for (String c : colors) {
poker.put(index, c + n);//添加到牌面
pokes.add(index);//存到牌面大小里面用于排序
index++;
}
}
poker.put(index, “大王”);
pokes.add(index);
index++;
poker.put(index, “小王”);
pokes.add(index);
System.out.println(pokes);
System.out.println(poker);
Collections.shuffle(pokes);
`
随机分发给三个人并留三张底牌
ArrayList xiaomianbao = new ArrayList<>();
ArrayList jintongxue = new ArrayList<>();
ArrayList woziji = new ArrayList<>();
ArrayList dipai =new ArrayList<>();
for(int i=0;i<pokes.size();i++){
if(i>=51){
dipai.add(pokes.get(i));
}else {
if(i%3=0){
xiaomianbao.add(pokes.get(i));
}else if(i%3==1){
jintongxue.add(pokes.get(i));
}else {
woziji.add(pokes.get(i));
}
}
}
给每个人的牌排序
Collections.sort(xiaomianbao);
Collections.sort(jintongxue);
Collections.sort(woziji);
Collections.sort(dipai);
System.out.println(“小面包的牌”+xiaomianbao);
for (Integer poke : xiaomianbao) {
System.out.println(poker.get(poke));
}
System.out.println(“金同学的牌”+jintongxue);
for (Integer poke : jintongxue) {
System.out.println(poker.get(poke));
}
System.out.println(“我的牌”+woziji);
for (Integer poke : woziji) {
System.out.println(poker.get(poke));
}
System.out.println(dipai);
for (Integer poke : dipai) {
System.out.println(poker.get(poke));
}