package com.yu.go; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; public class Day01 { private static Integer[] zp = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17, 18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38, 39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54}; private static Map<Integer,String> mapN = new HashMap<>(); public static void initMap (){ mapN.put(1, "A%"); mapN.put(2, "A&"); mapN.put(3, "A#"); mapN.put(4, "A$"); mapN.put(5, "2%"); mapN.put(6, "2&"); mapN.put(7, "2#"); mapN.put(8, "2$"); mapN.put(9, "3%"); mapN.put(10, "3&"); mapN.put(11, "3#"); mapN.put(12, "3$"); mapN.put(13, "4%"); mapN.put(14, "4&"); mapN.put(15, "4#"); mapN.put(16, "4$"); mapN.put(17, "5%"); mapN.put(18, "5&"); mapN.put(19, "5#"); mapN.put(20, "5$"); mapN.put(21, "6%"); mapN.put(22, "6&"); mapN.put(23, "6#"); mapN.put(24, "6$"); mapN.put(25, "7%"); mapN.put(26, "7&"); mapN.put(27, "7#"); mapN.put(28, "7$"); mapN.put(29, "8%"); mapN.put(30, "8&"); mapN.put(31, "8#"); mapN.put(32, "8$"); mapN.put(33, "9%"); mapN.put(34, "9&"); mapN.put(35, "9#"); mapN.put(36, "9$"); mapN.put(37, "10%"); mapN.put(38, "10&"); mapN.put(39, "10#"); mapN.put(40, "10$"); mapN.put(41, "J%"); mapN.put(42, "J&"); mapN.put(43, "J#"); mapN.put(44, "J$"); mapN.put(45, "Q%"); mapN.put(46, "Q&"); mapN.put(47, "Q#"); mapN.put(48, "Q$"); mapN.put(49, "K%"); mapN.put(50, "K&"); mapN.put(51, "K#"); mapN.put(52, "K$"); mapN.put(53, "w1"); mapN.put(54, "w2"); } @SuppressWarnings("unused") public static void main(String[] args) { initMap (); List<Integer> list = Arrays.asList(zp); Collections.shuffle(list); List<Integer> play1 = list.subList(0, 17); List<Integer> play2 = list.subList(17, 34); List<Integer> play3 = list.subList(34, 51); List<Integer> dzp = list.subList(51, 54); Collections.sort(play1); Collections.sort(play2); Collections.sort(play3); Collections.sort(dzp); for (Integer en:play1){ System.out.print(mapN.get(en)+" "); } System.out.println(); for (Integer en:play2){ System.out.print(mapN.get(en)+" "); } System.out.println(); for (Integer en:play3){ System.out.print(mapN.get(en)+" "); } System.out.println(); for (Integer en:dzp){ System.out.print(mapN.get(en)+" "); } } }
相关推荐
1)、将一副牌封装进入Map集合中,键为0-53的Integer数据,值为字符串 2)、洗牌:将Map集合的键放在List中,在使用Collections.shuffle()进行洗牌 ...4)、看牌:将三人的List和底牌List的值进行排序(从大到小)
在本文中,我们将深入探讨如何使用Java编程语言实现斗地主游戏中的发牌与手牌排序功能。斗地主是一款广受欢迎的扑克牌游戏,它需要严谨的逻辑和策略来确保游戏的公平性和流畅性。对于初学者而言,理解并实现这些功能...
斗地主是一款广受欢迎的扑克牌游戏,而用 Java 开发斗地主程序对于初学者来说是一个很好的实践项目。本篇将深入探讨这个Java源码中的核心概念,包括游戏界面设计与发牌算法。 首先,我们要了解Java在图形用户界面...
4. **数据结构与算法**:斗地主的游戏逻辑涉及到对扑克牌的管理和排序,这可能需要用到数组、链表等数据结构。此外,AI的决策过程可能涉及到一定的搜索算法,如深度优先搜索(DFS)、广度优先搜索(BFS)或者更复杂...
首先,HashMap作为扑克牌的存储容器,用于存储牌的值(如红桃A、黑桃K等)及其对应的对象。HashMap是一个无序的键值对集合,它的特点是查找和插入速度非常快,因为它是基于哈希表实现的。在这个模拟游戏中,牌的值...
在本文中,我们将深入探讨如何使用Java编程语言来实现一个扑克牌程序,这涉及到扑克牌的构造、基本算法以及比较、搜索和排序等关键操作。首先,我们需要理解扑克牌的基本结构和规则,以便在代码中有效地模拟它们。 ...
此外,自定义组件可能用于显示扑克牌,使游戏界面更符合斗地主的规则。 其次,事件处理是实现游戏交互的关键。Java中的EventListener和ActionListener接口用于监听用户的操作,例如点击按钮出牌。当这些事件发生时...
该实现涉及创建扑克牌和玩家的实体类、洗牌、发牌以及看牌等关键步骤。斗地主是一种流行的扑克游戏,通常由三个玩家参与,其中一名玩家作为地主,其余两名玩家为农民,游戏目标是尽快打出手中的牌。在这个项目中,...
在Java编程中,模拟实现斗地主发牌小程序是一个有趣且实用的练习,它涉及到数据结构、随机化以及逻辑控制等多个方面。以下是对这个程序的详细解析: 首先,我们需要了解斗地主游戏的基本规则。一副完整的扑克牌共有...
【JAVA斗地主源码】是一个专门为JAVA编程学习者提供的实战项目,旨在帮助开发者通过实际操作来提升JAVA编程技能。斗地主是一款在中国极其流行的扑克游戏,将其转化为计算机程序,可以很好地展示面向对象编程、算法...
1. **面向对象设计**:在Java中,斗地主游戏的实现首先需要设计一系列的类来代表游戏中的各种元素,如`Player`(玩家)、`Deck`(牌组)、`Card`(扑克牌)等。每个类都有其特定的功能和属性,例如`Player`类可能...
Java斗地主程序源代码是一种基于Java编程语言实现的桌面游戏,它允许用户在计算机上进行三人斗地主游戏。斗地主是一款在中国极其流行的扑克牌游戏,通过智慧与策略的较量,玩家需要与两位虚拟对手(或真实玩家)合作...
4. 查看三人各自手中的牌(按照牌的大小排序)、底牌手中扑克牌从大到小的摆放顺序:大王,小王,2,A,K,Q,J,10,9,8,7,6,5,4,3 二、Java实现斗地主游戏 在Java中,实现斗地主游戏主要分为四个步骤:...
斗地主是一款广受欢迎的扑克牌游戏,它具有丰富的策略性和娱乐性。在IT行业中,将这类游戏转化为代码,是软件开发中的一个经典案例,能够帮助开发者深入理解面向对象编程、游戏逻辑设计以及网络通信等多个领域的知识...
斗地主是一款广受欢迎的扑克牌游戏,而使用Java编程语言实现斗地主的源代码,可以帮助我们深入理解Java编程、算法设计以及游戏逻辑的构建。在这个Java斗地主项目中,我们可以探索以下几个关键知识点: 1. **Java...
在Java编程中,实现斗地主的发牌功能首先需要设计一个扑克牌类(Card)来存储每张牌的信息,如花色(红桃、黑桃、梅花、方块)和数值(2到K以及Ace)。这个类通常会包含属性和方法,如比较牌的大小、获取牌的显示...
斗地主是一款流行的扑克牌游戏,通常由三位玩家参与,每人发17张牌,留三张作为底牌。游戏的核心流程包括组合牌、洗牌、发牌和看牌等步骤。以下是基于提供的代码片段对这些步骤的详细解释: 1. **组合牌**: - 在...
在本篇文章中,我们使用了 Java 的排序算法来打乱扑克牌的顺序。Java 提供了多种排序算法,如冒泡排序、选择排序、快速排序等,每种排序算法都有其特点和应用场景。读者需要了解 Java 排序算法的使用方法和特点,...
斗地主是一款广受欢迎的扑克牌游戏,通过这个项目,开发者可以学习到如何利用Java实现游戏逻辑、用户界面交互以及多线程等关键技能。 在Java游戏中,通常会采用面向对象的设计思想,将游戏中的角色(如玩家、牌组、...