斗地主,瞎敲的
在这里插入代码片
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
public class fuckLandlord {
public static void main(String[] args) {
//准备花色
ArrayList<String>colour=new ArrayList<String>();
colour.add("黑桃");
colour.add("红心");
colour.add("梅花");
colour.add("方块");
//准备数字,加上A,J Q K;
ArrayList<String>number=new ArrayList<String>();
for(int i=3;i<=10;i++) {
number.add(i+"");//数字当做String输入可以这样(i+"");
}
number.add("J");
number.add("Q");
number.add("K");
number.add("A");
number.add("2");//这里才加上2是为了保证玩家整理牌时2大与JQKA
//数字加花色合成牌,加上两王;
HashMap<Integer, String>map=new HashMap<Integer, String>();
int index=0;
for(String thisnumber:number) {
for(String thiscolour:colour) {
map.put(index++, thiscolour+thisnumber);
}
}
map.put(index++, "小鬼");
map.put(index++, "大鬼");
//以数字代替牌,方便洗牌和玩家整理牌;
ArrayList<Integer>card=new ArrayList<Integer>();
for(int i=0;i<=53;i++) {
card.add(i);
}
//Collections类中有可将数字集合打乱的方法
Collections.shuffle(card);
//美女荷官在线发牌
ArrayList<Integer>iplay1=new ArrayList<Integer>();
ArrayList<Integer>iplay2=new ArrayList<Integer>();
ArrayList<Integer>iplay3=new ArrayList<Integer>();
ArrayList<Integer>dipai=new ArrayList<Integer>();
for(int i=0;i<54;i++) {
if(i>=51)
dipai.add(card.get(i));//三张牌当底牌
if(i%3==0)
iplay1.add(card.get(i));
else if(i%3==1)
iplay2.add(card.get(i));
else
iplay3.add(card.get(i));
}
Collections.sort(iplay1);
Collections.sort(iplay2);
Collections.sort(iplay3);
//以数字key提取value;
ArrayList<String>play1=new ArrayList<String>();
ArrayList<String>play2=new ArrayList<String>();
ArrayList<String>play3=new ArrayList<String>();
ArrayList<String>dipai2=new ArrayList<String>();
for(Integer key:iplay1) {
play1.add(map.get(key));
}
for(Integer key:iplay2) {
play2.add(map.get(key));
}
for(Integer key:iplay3) {
play3.add(map.get(key));
}
for(Integer key:dipai) {
dipai2.add(map.get(key));
}
System.out.println(play1);
System.out.println(play2);
System.out.println(play3);
System.out.println(dipai2);
}
}
加了点注释