`

Collections shuffle方法模拟斗地主洗牌发牌

 
阅读更多

 

 

4个人玩牌,最后保留3张底牌:

 

 

	public static void main(String[] args) {
		List<Integer> cards =new ArrayList<Integer>();
		//shuffle 洗牌 模拟斗地主
		for(int i=0;i<54;i++){
			cards.add(i); 
		}
		//洗牌
		Collections.shuffle(cards) ;
		//依次发牌
		List<Integer> p1 =new ArrayList<Integer>();
		List<Integer> p2 =new ArrayList<Integer>();		
		List<Integer> p3 =new ArrayList<Integer>();
		List<Integer> last =new ArrayList<Integer>();
		for(int i=0;i<51;i+=3){
			p1.add(cards.get(i));
			p2.add(cards.get(i+1));
			p3.add(cards.get(i+2));
		}
		//最后三张为底牌
		last.add(cards.get(51));
		last.add(cards.get(52));
		last.add(cards.get(53));
		
		System.out.println("第一个人:"+p1);
		System.out.println("第二个人:"+p2);
		System.out.println("第三个人:"+p3);
		System.out.println("底牌为:"+last);
}

 

分享到:
评论

相关推荐

    java模拟斗地主洗牌发牌-可拓展

    2)、洗牌:将Map集合的键放在List中,在使用Collections.shuffle()进行洗牌 3)、发牌:发给三个人,就是三个List加一个底牌的List 4)、看牌:将三人的List和底牌List的值进行排序(从大到小)

    斗地主洗牌发牌算法

    在Java中,可以使用ArrayList存储牌,并结合Collections.shuffle()方法实现洗牌。例如: ```java import java.util.ArrayList; import java.util.Collections; public class Game { private ArrayList&lt;Integer&gt; ...

    运用java技术实现斗地主洗牌和发牌模拟

    使用java模拟实现斗地主的洗牌发牌。首先使用java集合中Map集合将斗地主的牌存储起来,键存储编号,值存储牌的名称,如黑桃图形2。利用Collections工具包中的shuffle方法实现斗地主的洗牌功能,将洗好后的用List存储...

    Java斗地主发牌课程设计.doc

    2. **随机发牌方法**:`fapoker(Player p)`方法用于给玩家发牌。这通常涉及到随机数生成和数据结构的操作,如使用ArrayList存储牌的序列,可能还会应用到Collections的shuffle方法来随机排列牌的顺序。 3. **用户...

    史上最全斗地主发牌代码实现.rar

    2. 洗牌:随机打乱牌堆中的顺序,模拟实际洗牌过程。这可以通过Java的`Collections.shuffle()`方法实现。 3. 分牌:将牌堆分为三份,分别代表地主和两位农民的初始手牌。通常地主会比农民多拿三张底牌,因此第一轮发...

    java模拟实现斗地主发牌小程序

    接着,使用`Collections.shuffle(box)`方法对牌进行洗牌,使得每一轮游戏的发牌顺序不同,增加了游戏的随机性和公平性。 发牌的过程是这样的:首先从洗好的牌堆中取出51张牌,按照每三张一组分别分给三个玩家,即...

    简单三人扑克牌发牌代码(主要是思路)

    Java中可以使用`Collections.shuffle()`方法对List进行洗牌。 接下来是发牌过程,我们需要将52张牌均匀地分配给三位玩家,即每位玩家得到17张牌,剩余的8张作为底牌。这里涉及到循环和计数的概念,可以使用for循环...

    java实现模仿斗地主发牌

    Java 实现模仿斗地主发牌 Java 是一种流行的编程语言,广泛应用于各种领域。在游戏开发中,Java 也扮演着重要的角色。本文将为大家详细介绍如何使用 Java 实现模仿斗地主发牌,提供了详细的示例代码和实现步骤,为...

    Java实现简单的斗地主游戏.doc

    - 为了模拟真实的洗牌过程,使用了`Collections.shuffle()`方法对存储牌编号的`ArrayList` `pookerNumber`进行随机打乱,确保每一轮游戏开始时,牌的顺序都是不确定的。 3. **发牌**: - 发牌是通过遍历打乱后的...

    斗地主核心算法源码讲解.rar

    洗牌是随机打乱牌的顺序,通常通过`Collections.shuffle()`实现,它使用了Fisher-Yates(Knuth)洗牌算法。发牌则涉及到将洗好的牌平均分配给三个玩家,需要注意的是,发牌过程应确保每个玩家得到的牌是连续且无...

    安卓斗地主简单实现

    在Java或Kotlin中,可以利用`Collections.shuffle()`方法进行洗牌。 2. **排序**: - 在斗地主中,玩家出牌后需要判断是否合法,这就涉及到对牌的排序和比较。可以自定义一个扑克牌类,包含牌面和花色属性,并重写...

    java单机斗地主

    Java的Collections.shuffle()方法可以用于洗牌,然后通过循环分配给玩家。 3. **出牌逻辑**: - 玩家可以选择手牌进行出牌,系统需要检查出牌是否合法,如牌型是否正确,是否超过规定的出牌数量等。这涉及到对牌型...

    斗地主Java游戏源码

    游戏逻辑的实现涉及到算法设计,包括洗牌、发牌、比较牌型大小等。这需要你理解和运用数组、集合、排序算法等基础知识。例如,使用`Collections.shuffle()`方法可以随机打乱牌的顺序,而牌型比较可能需要用到条件...

    Java实现斗地主简化版

    * 洗牌:使用Collections的shuffle()方法洗牌三次,以确保牌的随机性。 * 发牌:将牌分配给三个玩家,每个玩家分配17张牌,剩下的牌作为底牌。 * 显示牌:使用System.out.println()方法显示各个玩家的牌。 四、Java...

    java实现斗地主游戏

    为了使洗牌过程随机化,我们会将生成的扑克牌对象存入一个Map中,然后利用Collections.shuffle方法对Map的key进行随机排序。最终,根据Map的key来生成排序后的扑克牌集合,这一过程模拟了洗牌的随机性。 4. 发牌...

    JAVA collection集合之扑克牌游戏实例

    - **洗牌**:可以使用Collections类的shuffle方法随机洗混牌的顺序,确保每次发牌的随机性。 - **发牌和比较大小**:向每位玩家发两张牌后,通过比较两张牌的点数和花色来判定大小,并输出获胜者。 ### 实现步骤 ...

    详解java_ 集合综合案例:斗地主

    本案例中主要使用了ArrayList来存储牌组,以及Collections类中的shuffle方法来洗牌。 #### 2.1 ArrayList的使用 ArrayList是List接口的一个实现,它允许存储重复的元素,并支持快速的随机访问。在这个斗地主案例中...

    Java实现简单的斗地主游戏

    首先,我们需要创建一个HashMap来存储牌的组合,然后使用洗牌和发牌方法将牌分配给三个玩家和一个底牌集合。最后,我们可以使用look()方法来实现看牌。 知识点7:代码实现 我们可以使用Java代码来实现斗地主游戏的...

    java课程设计实验报告(1).doc

    - 实现过程:定义Card类表示扑克牌,使用Collections.shuffle()方法洗牌,创建Player类处理发牌逻辑。 - 调试与运行结果:验证发牌的正确性和随机性,通过运行截图展示发牌结果。 2. **模拟用户注册软件** - ...

    扑克牌程序

    // 洗牌、发牌等方法省略... } ``` 接下来,我们要实现比较扑克牌的方法。可以为`Card`类添加一个`compareTo`方法,根据点数和花色进行比较。在Java中,我们可以利用枚举的自然顺序来实现这一点: ```java @...

Global site tag (gtag.js) - Google Analytics