斗地主小游戲
- 一.代碼實作
- 二. 運行結果
步驟
- 準備牌
- 洗牌
- 發牌
- 排序
- 看牌
一.代碼實作
public class DouDiZhu {
public static void main(String[] args) {
//1.準備牌
//定義一個存盤54張牌的集合ArrayList,泛型使用字串
ArrayList<String> poker=new ArrayList<>();
//定義兩個集合分別存盤花色和序號
String[] colors={"?","?","?","?"};
String[] numbers={"2","A","K","Q","J","10","9","8","7","6","5","4","3"};
//將大王小王添加到集合里
poker.add("大王");
poker.add("小王");
//回圈嵌套遍歷兩個陣列,組裝53張牌
//使用增強for回圈
for(String number:numbers){
for (String color : colors) {
// System.out.println(color+number);
poker.add(color+number);
}
}
System.out.println(poker);
//2.洗牌
//使用集合的工具類collections中的方法
Collections.shuffle(poker);
//3.發牌
//定義4個集合存盤玩家牌和底牌
ArrayList<String> player01=new ArrayList<>();
ArrayList<String> player02=new ArrayList<>();
ArrayList<String> player03=new ArrayList<>();
ArrayList<String> diPai=new ArrayList<>();
for(int i=0;i<poker.size();i++){
String p=poker.get(i);
if(i>=51){
diPai.add(p);}
else if(i%3==0){
player01.add(p);
}else if(i%3==1){
player02.add(p);
}else if(i%3==2){
player03.add(p);
}
}
//4.排序
Collection.sort(player01);
Collection.sort(player02);
Collection.sort(player03);
Collection.sort(dipai);
//5.看牌
System.out.print("張三的牌"+player01);
System.out.println();
System.out.print("李四的牌"+player02);
System.out.println();
System.out.print("王五的牌"+player03);
System.out.println();
System.out.print("底牌"+diPai);
}
}
二. 運行結果
[大王, 小王, ?2, ?2, ?2, ?2, ?A, ?A, ?A, ?A, ?K, ?K, ?K, ?K, ?Q, ?Q, ?Q, ?Q, ?J, ?J, ?J, ?J, ?10, ?10, ?10, ?10, ?9, ?9, ?9, ?9, ?8, ?8, ?8, ?8, ?7, ?7, ?7, ?7, ?6, ?6, ?6, ?6, ?5, ?5, ?5, ?5, ?4, ?4, ?4, ?4, ?3, ?3, ?3, ?3]
張三的牌[?6, ?7, ?J, ?K, ?Q, ?7, ?J, ?8, 大王, ?2, ?5, ?4, ?8, ?7, ?Q, ?2, ?6]
李四的牌[?10, ?5, ?8, ?A, ?4, ?10, ?2, ?3, ?3, ?7, ?9, ?6, ?K, ?4, ?A, ?6, ?5]
王五的牌[?A, ?10, 小王, ?Q, ?10, ?9, ?J, ?Q, ?9, ?A, ?8, ?K, ?5, ?3, ?4, ?J, ?9]
底牌[?2, ?3, ?K]
*作者:Aimee.潔
*本文著作權歸作者和CSDN共有,歡迎轉載,未經作者同意必須保留此版宣告,否則保留追究法律責任的權利,
*喜歡的點贊關注,評論區留下寶貴的意見吶??~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/257449.html
標籤:java
