使用Java实现斗地主游戏的发牌过程

使用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);
      
   }
}


实现效果:

每次运行给每个人发的牌均随机。

猜你喜欢

转载自www.cnblogs.com/DennySmith/p/12318900.html