案例:斗地主游戏(事先发牌)
需求:
在启动游戏房间之前,应该提前准备好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"