使用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);
}
}
实现效果:
每次运行给每个人发的牌均随机。