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("胖树的牌"+胖树);
}
}
}
} |