JAVA实现网页版斗地主_通过Java实现斗地主
packagedemo06;importjava.util.ArrayList;importjava.util.Collections;importjava.util.HashMap;/***
*@authorAdministrator
* 實現模擬斗地主的功能
* 1.組合牌
* 2.洗牌
* 3.發牌
* 4.看牌*/
public classDouDiZhu {public static voidmain(String[] args) {//1. 組合牌//創建Map集合,鍵是編號,值是牌
HashMap pooker=new HashMap<>();//創建List集合,存儲編號
ArrayList pookerNumber=new ArrayList<>();//定義出13個點數的數組
String[] numbers = {"2","A","K","Q","J","10","9","8","7","6","5","4","3"};//定義四個花色數組
String[] colors={"?","?","?","?"};//定義整數變量,作為鍵出現
int index=2; //先避開大小王//遍歷數組,花色+點數的組合存儲到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);//發牌功能,將牌編號,發給玩家集合,底牌集合
ArrayList player1=new ArrayList<>();
ArrayList player2=new ArrayList<>();
ArrayList player3=new ArrayList<>();
ArrayList bottom=new ArrayList<>();//發牌采用的是集合索引%3
for(int i=0;i
if(i<3){//存到底牌去
bottom.add(pookerNumber.get(i));
}//對索引%3判斷
else if(i%3==0){//索引上的編號,發給玩家1
player1.add(pookerNumber.get(i));
}else if(i%3==1){//索引上的編號,發給玩家2
player2.add(pookerNumber.get(i));
}else if(i%3==2){//索引上的編號,發給玩家3
player3.add(pookerNumber.get(i));
}
}//對玩家手中的編號排序
Collections.sort(player1);
Collections.sort(player2);
Collections.sort(player3);//看牌,將玩家手中的編號,到Map集合中查找,根據鍵找值
look("劉德華",player1,pooker);
look("張學友",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();
}
}
總結
以上是生活随笔為你收集整理的JAVA实现网页版斗地主_通过Java实现斗地主的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenStack组件
- 下一篇: 2017蓝桥杯c语言C组承压计算,蓝桥杯