Java-静态代码应用案例(斗地主)

案例:斗地主游戏(事先发牌)

 需求:

在启动游戏房间之前,应该提前准备好54张牌,后续才可以直接使用这些这些牌的数据。

分析:

(1)该房间只需要一副牌

(2)定义一个静态的ArrayList集合存储54张牌对象,静态的集合只会加载一份

(3)在启动游戏房间之前,应该将54张牌初始化好

(4)当系统启动的同时需要准备好54张牌的数据,此时可以用静态代码块完成

代码展示:

 /**
        1.定义一个静态的集合,这样这个集合只会加载一个,因为当前房间也只需要一副牌
     */
    public static ArrayList<String> cards = new ArrayList<>();

    /**
        2.在程序真正运行main方法前,把54张牌放进去,后续游戏可以直接使用
     */
    static {
        //3.正式做牌: 放到集合中去
        //a.定义一个数组存出全部点数
        String[] sizes = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
        //b.定义一个数组存储全部的花色
        String[] colors = {"♥", "♠", "♦", "♣"};
        //c.遍历点数
        for (int i = 0; i < sizes.length; i++) {
            //sizes[i]
            //d.遍历花色
            for (int j = 0; j < colors.length; j++) {
                //colors[j]
                //一张牌
                String card = sizes[i] + colors[j];
                cards.add(card);
            }
        }
        //e.单独加入大小王
        cards.add("小王");
        cards.add("大王");
    }

    public static void main(String[] args) {
        System.out.println("新牌: " + cards);

    }

运行结果:


版权声明:本文为weixin_52309279原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。