Java实现斗地主
需求:通过程序实现斗地主过程中的洗牌,发牌和看牌
思路:
1:创建一个牌盒, 也就是定义一个集合对象,用Arraylist集合实现 2:往牌盒里面装牌 3:洗牌,也就是把牌打撒,用Collections的shuffle()方法实现 4:发牌,也就是遍历集合,给三个玩家发牌 5:看牌,也就是三个玩家分别遍历自己的牌
实现代码:
public class PokerDemo {
public static void main(String[] args) {
//创建牌盒
ArrayList<String> array = new ArrayList<String>();
//♦ ♥ ♠ ♣
String[] colors = {"♦","♥","♠","♣"};
String[] numbers = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
for(String color:colors){
for(String number:numbers){
array.add(color+number);
}
}
array.add("大王");
array.add("小王");
Collections.shuffle(array);
System.out.println(array);
ArrayList<String> wss1 = new ArrayList<String>();
ArrayList<String> wss2 = new ArrayList<String>();
ArrayList<String> wss3 = new ArrayList<String>();
ArrayList<String> dp = new ArrayList<String>();
for(int i=0;i<array.size();i++){
String poker = array.get(i);
if(i>=array.size()-3){
dp.add(poker);
}else if (i%3==0){
wss1.add(poker);
}else if (i%3==1){
wss2.add(poker);
}else if(i%3==2){
wss3.add(poker);
}
}
LookPoker("wss1",wss1);
LookPoker("wss2",wss2);
LookPoker("wss3",wss3);
LookPoker("dipai",dp);
}
public static void LookPoker(String name,ArrayList<String> array){
System.out.println(name+"的牌是");
for(String poker:array){
System.out.print(poker+"");
}
System.out.println();
}
}
结果:

运行具有随机性,每次运行结果均不相同。