黑马程序员技术交流社区

标题: 一个简单的斗地主代码 [打印本页]

作者: tongren    时间: 2016-4-20 00:23
标题: 一个简单的斗地主代码
/**
  * * A:案例演示
  * 模拟斗地主洗牌和发牌,牌没有排序
  *
  * 分析:
  * 1,买一副扑克,其实就是自己创建一个集合对象,将扑克牌存储进去
  * 2,洗牌
  * 3,发牌
  * 4,看牌
  */
public static void main(String[] args) {
  //1,买一副扑克,其实就是自己创建一个集合对象,将扑克牌存储进去
  String[] num = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
  String[] color = {"红桃","黑桃","方片","梅花"};
  ArrayList<String> poker = new ArrayList<>();
  
  //拼接花色和数字
  for(String s1 : color) {
   for(String s2 : num) {
    poker.add(s1.concat(s2));    //concat连接两个字符串
   }
  }
  poker.add("小王");
  poker.add("大王");
  //2,洗牌
  Collections.shuffle(poker);
  //3,发牌
  ArrayList<String> gaojin = new ArrayList<>();
  ArrayList<String> longwu = new ArrayList<>();
  ArrayList<String> me = new ArrayList<>();
  ArrayList<String> dipai = new ArrayList<>();
  
  for(int i = 0; i < poker.size(); i++) {
   if(i >= poker.size() - 3) {
    dipai.add(poker.get(i));     //将三张底牌存储在底牌集合中
   } else if(i % 3 == 0) {
    gaojin.add(poker.get(i));
   } else if(i % 3 == 1) {
    longwu.add(poker.get(i));
   } else {
    me.add(poker.get(i));
   }
  }
  
  //4,看牌
  System.out.println(gaojin);
  System.out.println(longwu);
  System.out.println(me);
  System.out.println(dipai);





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2