斗地主实现案例。数据结构_栈

斗地主实现案例

    首先来写第一部,准备牌

  案例:

 public static void main(String[] args) {
// 准备牌
// 定义一个集合,来存储53牌
ArrayList<String> list = new ArrayList<>();
// 牌的花色
String[] huas={"♠","♥","♣","♦"};
// 牌的序号
String[] xuhao={"2","A","K","Q","J","10","9","8","7","6","4","4","3"};
// 先吧大王小王存储到集合中‘
list.add("大王");
list.add("小王");
// 循环嵌套循环遍历
for (String hua : huas) {
for (String s : xuhao) {
// System.out.println(xuhao+hua);
list.add(hua+s);
}
}
/*
洗牌
*/
Collections.shuffle(list);

/*
* 发牌
* */

ArrayList<String> wan1 = new ArrayList<>();
ArrayList<String> wan2 = new ArrayList<>();
ArrayList<String> wan3 = new ArrayList<>();
ArrayList<String> dipai = new ArrayList<>();
/*
* 遍历每一张牌
* 使用list集合索引给3名玩家轮流发牌
*
* */
for (int i = 0; i < list.size(); i++) {
String p = list.get(i);
if (i>=51){
// 给底牌发牌
dipai.add(p);
}else if (i%3==0){
wan1.add(p);
}else if (i%3==1){
wan2.add(p);
}else if (i%3==2){
wan3.add(p);
}

}

/*
* 看牌
* */

System.out.println("王大锤"+wan1);
System.out.println("王小明"+wan2);
System.out.println("李雄安"+wan3);
System.out.println("底牌"+dipai);

}

这个就是我们的斗地主案例

我们来看一下 打印输出

  

 

 一次步骤我都写到注释当中了

   数据结构_栈

画图看一下:

  

 

 这就是栈内存 ,先进后出

 

posted @ 2022-07-06 09:44  一位程序袁  阅读(90)  评论(0编辑  收藏  举报