黑马程序员技术交流社区

标题: java基础,斗地主发牌案例,纯手写 [打印本页]

作者: 我是一棵胖树    时间: 2015-7-7 23:10
标题: java基础,斗地主发牌案例,纯手写
package z.Collections;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
/*思路:
* 1,买牌,
* 创建两个String类型的数组,分别建立花色数组(黑桃,红桃,梅花,方块) 和(1-k)
*
* 定义一个集合,存放大王小王。
* 使用for嵌套循环,使用string中的concat方法,将花色组合点数组结合起来。装入集合当中去

* 2,洗牌
* 使用Collections.shuffle()将拍随机打乱
* 3,发牌
* 使用for循环遍历所有的牌,遍历的同时,判断x%3=0 则把牌发给第一个人。如果x%3=1,则把牌发给第二个人,如果x%3=2,
* 则把牌发给第三个人。这样就能平均
* 遍历的同时,将牌数总数减一留作底牌,再将其遍历输出
* 4,开牌
* 输出打印三个人各自的牌
*
*
*/

public class DouDiZhu {
          public static void main(String[] args) {
                  //定义花色数组
                  String []s={"黑桃","红桃","梅花","方块"};
                  
//              定义点数数组
                  String []s1={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
                  
//                  定义一个集合,将牌装入集合当中
                  ArrayList<String> l=new ArrayList<String>();
                  l.add("大王");
                  l.add("小王");
                  
                  
                  
                  for(String s2:s){ //使用加强for,需要遍历的对象为S 当s为黑桃时
                        for(String s3:s1)  {// 遍历点数数组,当s为黑桃时,点数数组为A
                                l.add(s2.concat(s3));//将黑桃和A组合成黑桃A,存入数组当中,以下循环
                        }
                  }
                  
//                  洗牌
                  Collections.shuffle(l)  ;
                  
//                  发牌
                  System.out.println("发牌中");
                  ArrayList<String> 乐乐=new ArrayList<String>();
                  ArrayList<String> 威威=new ArrayList<String>();
                  ArrayList<String> 胖树=new ArrayList<String>();
                  
                  for (int x=0;x<l.size()-3;x++) {
                                if(x%3==0){
                                        乐乐.add(l.get(x));
                                }
                                if(x%3==1){
                                        威威.add(l.get(x));
                                       
                                }
                                if(x%3==2){
                                        胖树.add(l.get(x));
                                }
                        }
                  System.out.println("发牌结束,请叫地主");
                while(true){
                  Scanner sc=new Scanner(System.in);
                  
                  
                  
                  System.out.println("1");
                 
                  System.out.println("2");
                 
                  System.out.println("3");
                w: System.out.println("请叫分");
                  String s7=sc.nextLine();
                  switch(s7){
                  case"1": {
                      System.out.println("叫一分");
                       System.out.println("没有抢到地主,请等候");
                       break;}
                  case"2":{
                          System.out.println("叫两分");
                          System.out.println("没有抢到地主,请等候");
                         break;}
                  case"3":{
                          System.out.println("叫三分");
                          System.out.println("恭喜,您抢到了地主,请看底牌");
                          for (int i = l.size()-3; i < l.size() ;i++) {
                              乐乐.add(l.get(i));
                              System.out.println(l.get(i));
                                   
                          }
               
}
               
                  System.out.println("乐乐的牌"+乐乐);
                  System.out.println("威威的牌"+威威);
                  System.out.println("胖树的牌"+胖树);
                        }
               
                                    
          }
}
}
作者: zimi626    时间: 2015-7-7 23:26
写的挺不错的,不过还需要努力,很多需要完善。
作者: 贾森    时间: 2015-7-7 23:37
不错不错
作者: shanshan33    时间: 2015-7-8 00:01
惊呆中Σ( ° △ °|||)︴
作者: Miss.H    时间: 2015-7-8 00:02
看不懂,都是大神啊我才基础班
作者: zhangxin    时间: 2015-7-8 01:00
给力,赞一个
作者: Ruby    时间: 2015-7-8 01:21
牛逼 楼主加油
作者: 野驴少东    时间: 2015-7-8 11:56
楼主好有面子
作者: zhhrai    时间: 2015-7-8 12:04
写的很不错...
作者: yongaidongbing    时间: 2015-7-8 12:21
楼主现在是什么级别。。。。。
作者: 半山岩    时间: 2015-7-8 19:59
牛神啊,加油啊
作者: 双元王志超    时间: 2015-7-8 21:08
真厉害,学习多长时间了。




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