关于斗地主类似案例

该Java代码示例展示了如何创建并初始化扑克牌,进行洗牌操作,然后模拟给四个人发牌,每人间隔11张,最后对每个人手中的牌进行排序。程序使用ArrayList存储和操作扑克牌,通过Comparator接口实现牌的比较和排序。
摘要由CSDN通过智能技术生成
package com.guigu.test.homework19.listandset;

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

/*
    1、用一个String[]数组存点数

​  2、用一个String[]数组存花色

​  3、用一个String[]数组存大王、小王

​  4、用上面的数组,生成一副扑克牌,放到Collection的集合中

​  5、遍历显示全副扑克牌

​  6、模拟给4个人随机发牌,每个人11张牌,分别放到四个Collection集合中

​  7、显示每个人的牌和剩余的牌
 */
public class Text1 {
    public static void main(String[] args) {
        //做牌
        String[] flower = {"♥", "♠", "♦", "♣"};
        String[] dian = {"3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2"};
        String[] wang = {"JOKER", "joker"};
        ArrayList<String> box = new ArrayList<>();
        for (String s : flower) {
            for (String s1 : dian) {
                box.add(s + s1);
            }
        }
        box.add(wang[0]);
        box.add(wang[1]);
        //洗牌
        Collections.shuffle(box);
        //分牌
        ArrayList<String> Player1 = new ArrayList<>();
        ArrayList<String> Player2 = new ArrayList<>();
        ArrayList<String> Player3 = new ArrayList<>();
        ArrayList<String> Player4 = new ArrayList<>();
        ArrayList<String> Player5 = new ArrayList<>();
        for (int i = 0; i < box.size(); i++) {
            if (i % 4 == 0 && i < 44) {
                Player1.add(box.get(i));
            } else if (i % 4 == 1 && i < 44) {
                Player2.add(box.get(i));
            } else if (i % 4 == 2 && i < 44) {
                Player3.add(box.get(i));
            } else if (i % 4 == 3 && i < 44) {
                Player4.add(box.get(i));
            } else{
                Player5.add(box.get(i));
            }
        }

        //清牌
        //偷梁换柱
        ArrayList<String> list = new ArrayList<>();
        Collections.addAll(list,"3","4","5","6","7","8","9","1","J","Q","K","A","2","o","O");
        Comparator<String> rull = new Comparator<String>(){
            @Override
            public int compare(String o1, String o2) {
                char c = o1.charAt(1);
                char c1 = o2.charAt(1);
                int i = list.indexOf(c + "");
                int i1 = list.indexOf(c1 + "");
                return i-i1;
            }
        };
        Player1.sort(rull);
        Player2.sort(rull);
        Player3.sort(rull);
        Player4.sort(rull);
        Player5.sort(rull);
        System.out.println("Player1 = " + Player1);
        System.out.println("Player2 = " + Player2);
        System.out.println("Player3 = " + Player3);
        System.out.println("Player4 = " + Player4);
        System.out.println("Player5 = " + Player5);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值