面试题--模拟斗地主洗牌发牌看牌

问题

  • 模拟斗地主洗牌发牌和看牌
  • 思路:
  1. 先构造一副扑克包括大小王
  2. 使用Collections.shuffle()实现洗牌
  3. 实现发牌利用Arraylist.add()
  4. 实现看牌功能

代码


import java.util.ArrayList;
import java.util.Collections;

//模拟斗地主洗牌发牌
public class MyTest05 {
    public static void main(String[] args){
//        组成puke
        ArrayList<String> pukers = new ArrayList<>();
        String[] colours={"♠","♦","♣","♥"};
        String[] nums={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
        for (String colour:colours){
            for (String num:nums){
                pukers.add(colour.concat(num));

            }
        }
        pukers.add("★");
        pukers.add("☆");
        System.out.println(pukers.toString());
//        洗牌
        Collections.shuffle(pukers);
//        Collections.shuffle(pukers);

//        发牌
        ArrayList<String> 大头 = new ArrayList<>();
        ArrayList<String> 老王 = new ArrayList<>();
        ArrayList<String> 小王 = new ArrayList<>();
        ArrayList<String> 底牌 = new ArrayList<>();

        for (int i=0;i<pukers.size();i++) {
            if (i<pukers.size()-3) {
                if (i % 3 == 0) {
                    大头.add(pukers.get(i));
                } else if (i % 3 == 1) {
                    老王.add(pukers.get(i));
                } else if (i % 3 == 2) {
                    小王.add(pukers.get(i));
                }
            }else {
                底牌.add(pukers.get(i));
            }
        }


//        看牌
        lookPuker("大头",大头);
        lookPuker("老王",老王);
        lookPuker("小王",小王);
        lookPuker("底牌",底牌);


//       看牌方法
    }
    private static void lookPuker(String name,ArrayList<String> lists){
        System.out.print(name+":\n");
        for (String list:lists){
            System.out.print(list+"  ");

        }
        System.out.println();
    }
}


结果输出:
大头:
♥Q ♦A ♠5 ♣3 ♥3 ♦Q ★ ♦K ♥9 ♠Q ♦6 ♦8 ♥7 ♠10 ☆ ♦7 ♥8
老王:
♦5 ♣Q ♣10 ♠2 ♥5 ♥4 ♠J ♠K ♠6 ♦3 ♠A ♦4 ♣2 ♣4 ♣A ♦2 ♥A
小王:
♣9 ♣7 ♠3 ♥6 ♣J ♣8 ♦9 ♣5 ♠8 ♥10 ♦10 ♣K ♥2 ♦J ♥J ♠9 ♥K
底牌:
♠4 ♣6 ♠7

发布了84 篇原创文章 · 获赞 15 · 访问量 9987

猜你喜欢

转载自blog.csdn.net/yalu_123456/article/details/102568342
今日推荐