用java实现斗地主

忙里偷闲,自己运用初学的知识是心啊斗地主功能。

斗地主画图分析
直接上源代码
import java.util.*;

public class PlayCards {
    public static void main(String[] args) {
        /**
         * 组合牌
         */
        // 创建Map集合,键是编号,值是牌
        HashMap<Integer, String> cords = new HashMap<Integer, String>();
        // 创建List集合,存储编号
        ArrayList<Integer> lists = new ArrayList<Integer>();
        // 定义13个点数的数组
        String[] numbers = {"2", "A", "K", "Q", "J", "10", "9", "8", "7", "6", "5", "4", "3"};
        // 定义4个花色
        String[] colors = {"♥️", "♣️", "♠️", "♦️"};
        // 定义整数变量,作为键出现
        int index = 2;
        // 遍历数组,花色+点数的组合,存储到Map集合
        for (String number : numbers) {
            for (String color : colors) {
                cords.put(index, color + number);
                lists.add(index);
                index++;
            }
        }
        cords.put(0, "大王");
        cords.put(1, "小王");
        lists.add(0);
        lists.add(1);
        System.out.println(lists);
        /**
         * 洗牌
         */
        Collections.shuffle(lists);
        System.out.println(lists);
        /**
         * 发牌
         * 三个玩家 加底牌
         * 存取四个数组中
         */
        ArrayList<Integer> palyer1 = new ArrayList<Integer>();
        ArrayList<Integer> palyer2 = new ArrayList<Integer>();
        ArrayList<Integer> palyer3 = new ArrayList<Integer>();
        ArrayList<Integer> bottomCords = new ArrayList<Integer>();
        for (int i = 0; i < lists.size(); i++) {
            if (i < 3) {
                bottomCords.add(lists.get(i));
            } else if (i % 3 == 0) {
                palyer1.add(lists.get(i));
            } else if (i % 3 == 1) {
                palyer2.add(lists.get(i));
            } else if (i % 3 == 2) {
                palyer3.add(lists.get(i));
            }
        }

        /**
         * 排序
         * 看牌
         */
        lookCard("底牌", bottomCords, cords);
        lookCard("玩家一", palyer1, cords);
        lookCard("玩家二", palyer2, cords);
        lookCard("玩家三", palyer3, cords);
    }

    public static void lookCard(String name, ArrayList<Integer> palyer, HashMap<Integer, String> cords) {
        //先排序,后取到相对应的牌
        Collections.sort(palyer);
        System.out.print(name + ":");
        for (Integer cordsKey : palyer) {
            String cordsValue = cords.get(cordsKey);
            System.out.print(cordsValue + " ");
        }
        System.out.println();
    }
}
运行结果
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,672评论 25赞 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 16,917评论 4赞 61
  • 大概今晚是他俩最后的见面。以后再也不要见他了,毕竟把自己弄的狼狈不堪终究是要被人笑话的。她暗自思忖到。 他穿着单薄...
    Anita解忧愁阅读 314评论 0赞 0
  • 这是一个尴尬的年龄,谈爱情已老,谈死又太早;谈理想过于荒芜,谈立业更是荒诞;最符合当下的,就是不吵不闹不疯狂。就像...
    叶简阅读 836评论 0赞 2
  • 人生总有一段时间,会在想些事情,这些事情想的多了,就会有所领悟。长久以来,我一直在想如何把自己的知识构建成一个体系...
    猫格拉底阅读 212评论 0赞 0

友情链接更多精彩内容