jQuery火箭图标返回顶部代码

集合的使用---简单的斗地主源码

/*
* 斗地主洗牌发牌
* 思路:
* 1、创建一个牌盒,也就是定义一个集合对象,用ArrayList集合实现
* 2、往牌盒里面装牌
* 3、洗牌,也就是把牌打散,用Collections的shuffle()方法实现
* 4、发牌,也就是遍历集合,给三个玩家发牌
* 5、看牌,也就是三个玩家分别遍历自己的牌
* */

 1 package test;
 2 
 3 import com.ruoyi.framework.web.domain.server.Sys;
 4 
 5 import java.util.ArrayList;
 6 import java.util.Collections;
 7 
 8 /*
 9 * 斗地主洗牌发牌
10 * 思路:
11 * 1、创建一个牌盒,也就是定义一个集合对象,用ArrayList集合实现
12 * 2、往牌盒里面装牌
13 * 3、洗牌,也就是把牌打散,用Collections的shuffle()方法实现
14 * 4、发牌,也就是遍历集合,给三个玩家发牌
15 * 5、看牌,也就是三个玩家分别遍历自己的牌
16 * */
17 public class DouDiZhu {
18     public static void main(String[] args){
19         //创建一个牌盒,也就是定义一个集合对象
20         ArrayList<String> array = new ArrayList<String>();
21 
22         //往牌盒中装牌
23         //定义花色数组
24         String[] colors ={"♦", "♣", "♥", "♠"};
25 
26         //定义点数数组
27         String[] numbers ={"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
28         for (String color: colors) {
29             for (String number: numbers) {
30                 array.add(color+number);
31             }
32         }
33         array.add("小王");
34         array.add("大王");
35 
36         //洗牌,把牌打散,用Collections的shuffle()方法实现
37         Collections.shuffle(array);
38 
39         //发牌,也就是遍历集合,给三个玩家发牌
40         //首先定义三个玩家的牌集合
41         ArrayList<String> player1 = new ArrayList<String>();
42         ArrayList<String> player2 = new ArrayList<String>();
43         ArrayList<String> player3 = new ArrayList<String>();
44         //定义三张底牌的集合
45         ArrayList<String> dipai = new ArrayList<String>();
46         for (int i = 0;i <array.size();i++){
47             String poker = array.get(i);
48 //            System.out.println(poker);
49             //保留三张底牌,放入底牌集合
50             if(i >=array.size() - 3){
51                 dipai.add(poker);
52             }else if(i % 3 ==0){
53                 player1.add(poker);
54             }else if(i % 3==1){
55                 player2.add(poker);
56             }else if(i % 3==2){
57                 player3.add(poker);
58             }
59         }
60         LookPaker("玩家1",player1);
61         LookPaker("玩家2",player2);
62         LookPaker("玩家3",player3);
63         LookPaker("底牌",dipai);
64     }
65     //定义看牌方法
66     public static void LookPaker(String name, ArrayList<String> player){
67         System.out.print(name +"的牌是:");
68         for (String poker : player){
69             System.out.print(poker+" ");
70         }
71         System.out.println();
72     }
73 }

 

结果

玩家一的牌是大王 C8 B2 C10 D6 CJ C6 B4 C2 A5 A4 B9 A6 B7 AQ C7 C4 
玩家二的牌是D3 B3 B8 D9 AK 小王 BK B10 AA A8 DJ C5 B6 D8 CQ AJ D5 
玩家三的牌是A9 A10 D4 DK B5 D10 C3 BQ D7 A7 D2 DA A3 BA CA CK C9 
底牌的牌是A2 BJ DQ 

此次实践主要是为了巩固集合基础,并且了解到一个新的方法

Collections.shuffle(数组);此方法在不改变数组底层结构的情况下,数组中的元素打乱顺序。
posted @ 2020-09-07 15:49  天下没有收费的bug  阅读(140)  评论(0)    收藏  举报