洗牌要怎么做啊

来源:7-1 简易扑克牌游戏

jetbbb

2016-01-20 17:02

洗牌怎么做啊是不是压根就不用洗牌啊

写回答 关注

3回答

  • 凯凯凯凯
    2016-04-05 12:09:27
    	public static void shuffle() {
    		System.out.println("-----------洗牌----------");
    		Random r=new Random();
    		int a = 0;
    		for (int i = 0; i < 52; i++) {
    			do {
    				 a=r.nextInt(52);
    			//*** poker1 为之前先建立好的按花色排序的新扑克牌		
    			} while (poker2.contains(poker1.get(a)));
    					
    			poker2.add(poker1.get(a));
    		}
    		System.out.println("-----------洗牌结束----------");
    		int i=52;			//遍历洗牌结果
    		for (Poker poker : poker2) {
    			i--;			
    			System.out.print(poker+"\t");
    			if(i%13==0){
    				System.out.println();
    			}
    		}
    		
    /**
    *************创建扑克牌**********
    方块2	方块3	方块4	方块5	方块6	方块7	方块8	方块9	方块10	方块J	方块Q	方块K	方块A	
    梅花2	梅花3	梅花4	梅花5	梅花6	梅花7	梅花8	梅花9	梅花10	梅花J	梅花Q	梅花K	梅花A	
    红桃2	红桃3	红桃4	红桃5	红桃6	红桃7	红桃8	红桃9	红桃10	红桃J	红桃Q	红桃K	红桃A	
    黑桃2	黑桃3	黑桃4	黑桃5	黑桃6	黑桃7	黑桃8	黑桃9	黑桃10	黑桃J	黑桃Q	黑桃K	黑桃A	
    -----------洗牌----------
    -----------洗牌结束----------
    黑桃8	红桃2	方块8	红桃10	方块6	方块5	黑桃4	方块4	黑桃2	方块2	黑桃7	方块10	方块9	
    梅花Q	梅花K	方块7	方块Q	梅花J	红桃5	方块K	黑桃10	红桃Q	黑桃A	红桃4	黑桃3	红桃A	
    梅花A	方块3	黑桃K	红桃3	黑桃5	梅花7	梅花9	黑桃9	梅花5	红桃7	梅花8	梅花6	红桃J	
    红桃K	梅花4	梅花10	方块A	红桃8	梅花3	梅花2	黑桃J	红桃6	黑桃Q	红桃9	黑桃6	方块J
    */


  • 猛禽斩侧卫
    2016-01-21 08:45:36

    你还可以 先从list集合中元素添加到set集合    再从set集合中添加到一个新建的list集合中,就变相的实现了洗牌。。。。。(好贱啊这方法)

    winner...

    这个方法貌似我的eclipse行不通,每次出现的牌都是一样的,上次老师讲Set和Map时我也试了,每次结果都一样,不随机

    2016-01-28 13:06:25

    共 1 条回复 >

  • 欣烁菲阳
    2016-01-20 19:15:47

    洗牌-----用Collections.shuffle函数-----随机打乱原来的顺序

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题