黑马程序员技术交流社区

标题: 自己写的扑克牌发牌小程序 [打印本页]

作者: ylw787442926    时间: 2016-6-2 22:32
标题: 自己写的扑克牌发牌小程序
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;

public class Test_old {
        private static String[] huase = { "黑桃", "红桃", "梅花", "方片" };
        private static String[] shoupai = new String[4];// 每个玩家手中的手牌
        private static ArrayList<String> quan = new ArrayList<String>();
        //初始化52张扑克牌
        public static void init() {
                System.out.print("  ");
                for (String SS : huase) {
                        for (int i = 1; i <= 13; i++) {
                                if (i == 1) {
                                        quan.add(SS + "A");
                                } else if (i == 11) {
                                        quan.add(SS + "J");
                                } else if (i == 12) {
                                        quan.add(SS + "Q");
                                } else if (i == 13) {
                                        quan.add(SS + "K");
                                } else {
                                        quan.add(SS + i);
                                }
                        }
                }
                for(int i=0;i<shoupai.length;i++)
                {
                        shoupai[i]="";
                }
                // Collections.shuffle(quan);//随机打乱数组里面的对象
        }
        //对52张扑克牌进行随机洗牌
        public static void xipai() {
                Collections.shuffle(quan);
        }
        //吧52张扑克牌随机发给4个玩家
        public static void fapai()
        {
                for(int i=0;i<shoupai.length;i++)
                {
                   //获得字串
                   List<String> temp = quan.subList(0, 13);//调用quan数组中的0-13的对象,用temp应用,是在父串中调用,改变temp也就是改变父串
                   ArrayList<String> list = new ArrayList<String>(temp);
                   for(String s:list)
                   {
                           shoupai[i]+=s+" ";
                   }
                  
                   temp.clear();//清除子串,清楚父串中的temp所引用的对象
                }
                for(int n=0;n<shoupai.length;n++)
                {
                        System.out.println("\n第"+(n+1)+"个玩家手中的牌是:"+shoupai[n]);
                }
        }

        public static void main(String[] args) {

                Test_old.init();
                for (String S : quan) {
                        System.out.print(S + "  ");
                }
                System.out.println('\n'+"--------洗牌------");
                Test_old.xipai();
                for (String S : quan) {
                        System.out.print(S + "  ");
                }
                //Test.fapai();
                fapai();
        }

}
作者: 787442926    时间: 2016-6-2 23:03
又发帖了,来瞅瞅




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