JAVA实现网页版斗地主_通过Java实现斗地主
packagedemo06;importjava.util.ArrayList;importjava.util.Collections;importjava.util.HashMap;/***
*@authorAdministrator
* 實(shí)現(xiàn)模擬斗地主的功能
* 1.組合牌
* 2.洗牌
* 3.發(fā)牌
* 4.看牌*/
public classDouDiZhu {public static voidmain(String[] args) {//1. 組合牌//創(chuàng)建Map集合,鍵是編號,值是牌
HashMap pooker=new HashMap<>();//創(chuàng)建List集合,存儲編號
ArrayList pookerNumber=new ArrayList<>();//定義出13個點(diǎn)數(shù)的數(shù)組
String[] numbers = {"2","A","K","Q","J","10","9","8","7","6","5","4","3"};//定義四個花色數(shù)組
String[] colors={"?","?","?","?"};//定義整數(shù)變量,作為鍵出現(xiàn)
int index=2; //先避開大小王//遍歷數(shù)組,花色+點(diǎn)數(shù)的組合存儲到Map集合
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);//發(fā)牌功能,將牌編號,發(fā)給玩家集合,底牌集合
ArrayList player1=new ArrayList<>();
ArrayList player2=new ArrayList<>();
ArrayList player3=new ArrayList<>();
ArrayList bottom=new ArrayList<>();//發(fā)牌采用的是集合索引%3
for(int i=0;i
if(i<3){//存到底牌去
bottom.add(pookerNumber.get(i));
}//對索引%3判斷
else if(i%3==0){//索引上的編號,發(fā)給玩家1
player1.add(pookerNumber.get(i));
}else if(i%3==1){//索引上的編號,發(fā)給玩家2
player2.add(pookerNumber.get(i));
}else if(i%3==2){//索引上的編號,發(fā)給玩家3
player3.add(pookerNumber.get(i));
}
}//對玩家手中的編號排序
Collections.sort(player1);
Collections.sort(player2);
Collections.sort(player3);//看牌,將玩家手中的編號,到Map集合中查找,根據(jù)鍵找值
look("劉德華",player1,pooker);
look("張學(xué)友",player2,pooker);
look("黎明",player3,pooker);
look("底牌",bottom,pooker);
}public static void look(String name,ArrayList player,HashMappooker){//遍歷ArrayList集合,獲取元素,作為鍵,到集合Map中找值
System.out.println(name+":");for(Integer key:player){
String value=pooker.get(key);
System.out.print(value+" ");
}
System.out.println();
}
}
總結(jié)
以上是生活随笔為你收集整理的JAVA实现网页版斗地主_通过Java实现斗地主的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenStack组件
- 下一篇: 该文件可能是只读的 或者您要访问的位置_