使用Java實現斗地主游戲的發牌過程使用到的知識點
1.泛型
2.集合
3.數組
4.增強for循環
實現代碼:
package com.review.test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
//斗地主游戲的實現過程
public class DouDiZhu {
public static void main(String[] args) {
//定義一個集合用於存放54張牌 泛型使用String
List<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("小王");
//組合牌的花色和數字存入集合中
for(String color:colors){
for(String number:numbers){
poker.add(color+number);
}
}
//System.out.println(poker);
//發牌
Collections.shuffle(poker);
//定義3個斗地主玩家和一個底牌
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){
//給1號玩家發牌
player01.add(p);
}else if(i%3==1){
//給2號玩家發牌
player02.add(p);
}else if(i%3==2){
//給3號玩家發牌
player03.add(p);
}
}
//發牌完成,看牌
System.out.println("玩家1"+player01);
System.out.println("玩家2"+player02);
System.out.println("玩家3"+player03);
System.out.println("底 牌"+dipai);
}
}
實現效果:

每次運行給每個人發的牌均隨機。
